在使用.click()
函数而不是.change()
函数用于复选框时,我不确定这是否是jQuery中的错误。它在jsfiddle 上运行良好
1:http://jsfiddle.net/fadlisaad/tSgbZ/16/但不在实际网页http://webcollect.viewscast.com/canonrepairmobile上
您可以按以下顺序进行测试:
<INPUT TYPE="Hidden" ID="__OUTP__ResolveWay_7" NAME="__OUTP__ResolveWay_7" VALUE="">
应为<INPUT TYPE="Hidden" ID="__OUTP__ResolveWay_7" NAME="__OUTP__ResolveWay_7" VALUE="1">
答案 0 :(得分:3)
使用此代码:
$('input[name!="ResolveWay_7"]').click(function() {
$('input[name="ResolveWay_7"]').removeAttr('checked');
});
你这样做是为了每次点击输入时,复选框都会被取消激活。因此,当您单击提交按钮(是的,这也是输入)时,它会取消选中该复选框。
我相信您只需将选择器更改为$('input[type="checkbox"][name!="ResolveWay_7"]')
即可。
答案 1 :(得分:3)
问题在于这段代码:
$('input[name!="ResolveWay_7"]').click(function() {
$('input[name="ResolveWay_7"]').removeAttr('checked');
});
您的继续按钮也将满足该jQuery选择器,因为它的类型为<input>
,并且不会被称为ResolveWay_7。因此,单击“继续”按钮时,将取消选中该复选框。
答案 2 :(得分:1)
查看页面源代码的底部,选择“以上都不是”。
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function() {
$('#comment').hide();
$('#specify').click(function() {
$('#comment').toggle();
$('textarea').val('');
});
$('input[name="ResolveWay_7"]').change(function() {
$('input[name!="ResolveWay_7"]').removeAttr('checked');
$('textarea').val('');
$('#comment').hide();
});
$('input[name!="ResolveWay_7"]').click(function() {
$('input[name="ResolveWay_7"]').removeAttr('checked');
});
});
/* ]]> */
</script>
有两个地方可以说:
$('input[name="ResolveWay_7"]').removeAttr('checked');
答案 3 :(得分:1)
检查一下:
$('input[name!="ResolveWay_7"]').click(function() {
$('input[name="ResolveWay_7"]').removeAttr('checked');
});
当您点击除ResolveWay_7
之外的任何输入时,它会清除checked
的{{1}}属性,而提交按钮(继续)也是一个输入,因此单击它会清除复选框。
您需要从选择中排除按钮,如:
Resolveway_7