Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 给出奇数结果的jQuery复选框脚本_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript 给出奇数结果的jQuery复选框脚本

Javascript 给出奇数结果的jQuery复选框脚本,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,当主复选框属性被选中为TRUE时,脚本应该选中所有隐藏的复选框。 如果未选中,或者如果用户选中/取消选中,则应为隐藏属性应用相同的值 90%的情况下,它工作正常,但在某些情况下(不确定如何工作),它似乎不工作,并且一些结果出现在用户的主复选框为TRUE,而所有其他复选框为FALSE的情况下,反之亦然 为什么会这样 <script> $(function() { var marketingMAIN= $("input[t

当主复选框属性被选中为TRUE时,脚本应该选中所有隐藏的复选框。 如果未选中,或者如果用户选中/取消选中,则应为隐藏属性应用相同的值

90%的情况下,它工作正常,但在某些情况下(不确定如何工作),它似乎不工作,并且一些结果出现在用户的主复选框为TRUE,而所有其他复选框为FALSE的情况下,反之亦然

为什么会这样

 <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');
}
});
});

隐藏的
输入
不是复选框。