我的 HTML 中有以下 block
<div class="selection">
<p><input name="custrecord_npsdtl_decision" id="custrecord_npsdtl_decision" type="radio" value="I am solely responsible for the decision">I am solely responsible for the decision </p>
<p><input name="custrecord_npsdtl_decision" id="custrecord_npsdtl_decision" type="radio" value="I am partially responsible for or influence the decision">I am partially responsible for or influence the decision </p>
<p><input name="custrecord_npsdtl_decision" id="custrecord_npsdtl_decision" type="radio" value="I am not involved in the decision">I am not involved in the decision </p>
<p><input name="custrecord_npsdtl_decision" id="custrecord_npsdtl_decision" type="radio" value="Don't know">Don't know </p>
</div>
还有一个根据所选选项检查表单进度的函数,其中包含以下代码片段:
var decisionmaker = $('#custrecord_npsdtl_decision:checked').val();
if (decisionmaker == elements['customlist_nps_decision'][2] || decisionmaker == elements['customlist_nps_decision'][3]) {
redirect();
}
这在 Chrome、Firefox 中按预期工作,但在 Internet Explorer(8) 中不起作用。做了一些检查我发现
$('#custrecord_npsdtl_decision:checked')
按预期返回一个对象,但在该对象上调用 val() 返回未定义。
我完全困惑了。如何从 IE 的单选列表中获取所选选项?
最佳答案
ID 必须是唯一的。我非常惊讶这在 Chrome 和 Firefox 中竟然能正常工作。
删除 id 属性并按名称选择。
$('input[name="custrecord_npsdtl_decision"]:checked').val();
关于javascript - jQuery 1.7.2 - selector.val() 在 IE 8 中中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725597/