Javascript 给出奇数结果的jQuery复选框脚本
当主复选框属性被选中为TRUE时,脚本应该选中所有隐藏的复选框。 如果未选中,或者如果用户选中/取消选中,则应为隐藏属性应用相同的值 90%的情况下,它工作正常,但在某些情况下(不确定如何工作),它似乎不工作,并且一些结果出现在用户的主复选框为TRUE,而所有其他复选框为FALSE的情况下,反之亦然 为什么会这样Javascript 给出奇数结果的jQuery复选框脚本,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,当主复选框属性被选中为TRUE时,脚本应该选中所有隐藏的复选框。 如果未选中,或者如果用户选中/取消选中,则应为隐藏属性应用相同的值 90%的情况下,它工作正常,但在某些情况下(不确定如何工作),它似乎不工作,并且一些结果出现在用户的主复选框为TRUE,而所有其他复选框为FALSE的情况下,反之亦然 为什么会这样 <script> $(function() { var marketingMAIN= $("input[t
<script>
$(function() {
var marketingMAIN= $("input[type='checkbox'][name='marketingMAIN']");
var marketingPhone = $("input[type='hidden'][name='marketingPhone']");
var marketingRobo = $("input[type='hidden'][name='marketingRobo']");
var marketingSMS = $("input[type='hidden'][name='marketingSMS']");
var marketingEmail = $("input[type='hidden'][name='marketingEmail']");
var marketingIM = $("input[type='hidden'][name='marketingIM']");
var marketingPush = $("input[type='hidden'][name='marketingPush']");
var marketingPaperMail = $("input[type='hidden'][name='marketingPaperMail']");
marketingMAIN.on('change', function()
{
if ($(this).val() == "TRUE") {
marketingPhone.prop('checked',true);
marketingPhone.val('TRUE');
marketingRobo.prop('checked',true);
marketingRobo.val('TRUE');
marketingSMS.prop('checked',true);
marketingSMS.val('TRUE');
marketingEmail.prop('checked',true);
marketingEmail.val('TRUE');
marketingIM.prop('checked',true);
marketingIM.val('TRUE');
marketingPush.prop('checked',true);
marketingPush.val('TRUE');
marketingPaperMail.prop('checked',true);
marketingPaperMail.val('TRUE');
} else {
marketingPhone.prop('checked',false);
marketingPhone.val('FALSE');
marketingRobo.prop('checked',false);
marketingRobo.val('FALSE');
marketingSMS.prop('checked',false);
marketingSMS.val('FALSE');
marketingEmail.prop('checked',false);
marketingEmail.val('FALSE');
marketingIM.prop('checked',false);
marketingIM.val('FALSE');
marketingPush.prop('checked',false);
marketingPush.val('FALSE');
marketingPaperMail.prop('checked',false);
marketingPaperMail.val('FALSE');
}
});
});
</script>
$(函数(){
var marketingMAIN=$(“输入[type='checkbox'][name='marketingMAIN']);
var marketingPhone=$(“输入[type='hidden'][name='marketingPhone']);
var marketingRobo=$(“输入[type='hidden'][name='marketingRobo']);
var marketingSMS=$(“输入[type='hidden'][name='marketingSMS']);
var marketingEmail=$(“输入[type='hidden'][name='marketingEmail']);
var marketingIM=$(“输入[type='hidden'][name='marketingIM']);
var marketingPush=$(“输入[type='hidden'][name='marketingPush']);
var marketingPaperMail=$(“输入[type='hidden'][name='marketingPaperMail']);
marketingMAIN.on('change',function())
{
if($(this.val()=“TRUE”){
marketingPhone.prop('checked',true);
marketingPhone.val('TRUE');
marketingRobo.prop(“选中”,为真);
marketingRobo.val(“真实”);
marketingSMS.prop('checked',true);
marketingSMS.val('TRUE');
marketingEmail.prop('checked',true);
marketingEmail.val('TRUE');
marketingIM.prop(“选中”,为真);
marketingIM.val(“真”);
marketingPush.prop('checked',true);
marketingPush.val('TRUE');
marketingPaperMail.prop('checked',true);
marketingPaperMail.val('TRUE');
}否则{
marketingPhone.prop('checked',false);
marketingPhone.val('FALSE');
marketingRobo.prop(“已检查”,错误);
marketingRobo.val(“假”);
marketingSMS.prop('checked',false);
marketingSMS.val('FALSE');
marketingEmail.prop('checked',false);
marketingEmail.val('FALSE');
marketingIM.prop(“已检查”,错误);
市场价值(“假”);
marketingPush.prop('checked',false);
marketingPush.val('FALSE');
marketingPaperMail.prop('checked',false);
marketingPaperMail.val('FALSE');
}
});
});
隐藏属性标记如下:
<input type="hidden" name="marketingPhone" value=""/>
<input type="hidden" name="marketingRobo" value=""/>
<input type="hidden" name="marketingSMS" value=""/>
<input type="hidden" name="marketingEmail" value=""/>
<input type="hidden" name="marketingIM" value=""/>
<input type="hidden" name="marketingPush" value=""/>
<input type="hidden" name="marketingPaperMail" value=""/>
复选框的值不会更改,除非您专门更改它。尝试使用类似中的
is()
不要像下面这样在更改侦听器中检查可见复选框的值:
if ($(this).val() == "TRUE") {
检查其checked
属性:
if ($(this).is(":checked")) {
下面是一个工作示例:
$(函数(){
var marketingMAIN=$(“输入[type='checkbox'][name='marketingMAIN']);
var marketingPhone=$(“输入[name='marketingPhone']);
var marketingRobo=$(“输入[name='marketingRobo']”);
var marketingSMS=$(“输入[type='hidden'][name='marketingSMS']);
var marketingEmail=$(“输入[type='hidden'][name='marketingEmail']);
var marketingIM=$(“输入[type='hidden'][name='marketingIM']);
var marketingPush=$(“输入[type='hidden'][name='marketingPush']);
var marketingPaperMail=$(“输入[type='hidden'][name='marketingPaperMail']);
marketingMAIN.on('change',function()){
如果($(this).is(“:checked”)){
marketingPhone.prop('checked',true);
marketingPhone.val('TRUE');
marketingRobo.prop(“选中”,为真);
marketingRobo.val(“真实”);
marketingSMS.prop('checked',true);
marketingSMS.val('TRUE');
marketingEmail.prop('checked',true);
marketingEmail.val('TRUE');
marketingIM.prop(“选中”,为真);
marketingIM.val(“真”);
marketingPush.prop('checked',true);
marketingPush.val('TRUE');
marketingPaperMail.prop('checked',true);
marketingPaperMail.val('TRUE');
}否则{
marketingPhone.prop('checked',false);
marketingPhone.val('FALSE');
marketingRobo.prop(“已检查”,错误);
marketingRobo.val(“假”);
marketingSMS.prop('checked',false);
marketingSMS.val('FALSE');
marketingEmail.prop('checked',false);
marketingEmail.val('FALSE');
marketingIM.prop(“已检查”,错误);
市场价值(“假”);
marketingPush.prop('checked',false);
marketingPush.val('FALSE');
marketingPaperMail.prop('checked',false);
marketingPaperMail.val('FALSE');
}
});
});代码>
隐藏的输入
不是复选框。