jQuery RadioButtonList 选中的值返回 “on”
jQuery RadioButtonList checked value returns "on"
我有一个奇怪的问题。我有一个单选按钮列表,当它被选中时,它会显示下面与所选项目对应的div。单选按钮列表上方是一个复选框列表。单选按钮单击事件工作正常,直到您选中上述复选框列表中的框。从上面的复选框列表中选中某个项目后,它将开始返回"on"而不是所选单选按钮的值。知道吗?
j查询:
<script type="text/javascript">
function CheckAllTrucks(sendingcb) {
$("#divTruckList :checkbox").prop("checked", $(sendingcb).prop("checked"));
}
function SetTimeframeInput(sendingrbl) {
var value = $(sendingrbl + ":checked").val();
$("#divTimeFrameControls .timeframectrls").each(function () {
$(this).hide();
});
$("#div" + value).show();
}
HTML/ASP.NET 代码:
<div class="form-field">
<asp:CheckBox ID="cbSelectAllTrucks" runat="server" Text="Select All Trucks" onclick="CheckAllTrucks(this)" />
<div id="divTruckList">
<asp:CheckBoxList ID="cblTrucks" runat="server" />
</div>
</div>
<div class="form-field">
<asp:RadioButtonList ID="rblTimeFrame" runat="server" onclick="SetTimeframeInput(this)">
<asp:ListItem Text="Month" Value="month" />
<asp:ListItem Text="Quarter" Value="quarter" />
<asp:ListItem Text="January-December" Value="jandec" />
<asp:ListItem Text="July-June" Value="juljun" />
</asp:RadioButtonList>
<div id="divTimeFrameControls">
<div id="divmonth" class="timeframectrls" style="display: none;">
<!-- month fields -->
</div>
<div id="divquarter" class="timeframectrls" style="display: none;">
<!-- quarter fields -->
</div>
<div id="divjandec" class="timeframectrls" style="display: none;">
<!-- jandec fields -->
</div>
<div id="divjuljun" class="timeframectrls" style="display: none;">
<!-- juljun fields -->
</div>
</div>
</div>
提前感谢!
编辑
我发现这仅在选中其中一个复选框时才会发生。如果选中然后取消选中,则该值仍然正确。只有选中复选框时,才会将值设置为"on"。
仍然不知道问题是什么,但能够通过直接引用单选按钮列表的 ID 来修复它。喜欢这个:
function SetTimeframeInput() {
var value = $("#rblTimeFrame input:checked").val();
$("#divTimeFrameControls .timeframectrls").each(function () {
$(this).hide();
});
$("#div" + value).show();
}
感谢您的输入。
不要将
(this)
传递给函数,而是尝试使用默认在单击时传递的EventObject
:
function SetTimeframeInput(e) {
var value = $(e.currentTarget).val();
// value contains selected radio button`s value
// continue your code here
}
我希望,这有所帮助。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 为什么我的on change事件在ie9上返回空
- 当使用“”时,事件数据在jquery中返回空对象;on()”;
- jQuery on change don't返回属性值
- 尝试从工厂中的 ref.on() 返回值到控制器
- 如何在调用时从 spy.on(obj, 'funcName') 返回假数据
- jQuery RadioButtonList 选中的值返回 “on”
- jQuery on'单击'在动态生成的列表上返回'一个空字符串'
- Force.drag().on返回未定义的值
- html中的select on change事件不会返回所需的值
- 在dropbox on change事件时运行php函数,并从php函数返回一个表
- parseFloat on $(this).val() 返回一个对象
- 复选框值返回on
- 无法读取属性'innerHTML'使用.on()返回null
- 从on()函数返回变量- jquery
- 如何使用on.()绑定jquery ajax返回的html
- 带有复选框的双向绑定总是返回“on”
- 如何使用jQuery返回“表单”的值从选择在Ruby on Rails应用程序
- on()单击将事件绑定到AJAX返回的元素
- 单选按钮返回"on"值在PhoneGap构建应用程序