Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Jquery 复选框不会根据单选按钮值更改_Jquery_Html - Fatal编程技术网

Jquery 复选框不会根据单选按钮值更改

Jquery 复选框不会根据单选按钮值更改,jquery,html,Jquery,Html,我有两个单选按钮和一个复选框的web应用程序 场景:根据单选按钮值,它应该更改复选框的选中状态 Html代码 <div class="form-group"> <label>Is Main Meal</label> <div class="radio"> <label>

我有两个单选按钮和一个复选框的web应用程序

场景:根据单选按钮值,它应该更改复选框的选中状态

Html代码

                <div class="form-group">
                  <label>Is Main Meal</label>
                  <div class="radio">
                    <label>
                      <input type="radio" name="inputMeal" value="1" checked> Main Meal
                    </label>
                  </div>
                  <div class="radio">
                    <label>
                      <input type="radio" name="inputMeal" value="0"> Sub Meal
                    </label>
                  </div>
                </div>


                <div class="form-group">
                      <div class="checkbox">
                        <label>
                          <input type="checkbox" name="chkIsPricing"> Is Pricing
                        </label>
                      </div>
                    </div>
 $('input[name="inputMeal"]').on('change', function () {
        var val = $("input[name='inputMeal']:checked").val();
        if (val == "0") {
            $('input[name="chkIsPricing"]').attr('checked', true);
        } else {
            $('input[name="chkIsPricing"]').attr('checked', false);
        }
    });
这在前两次点击中效果很好

步骤1:单击“子餐”单选按钮,复选框设置为选中状态。(成功)

第二步:点击“主餐”单选按钮,复选框设置为未选中状态(成功)

步骤3:再次单击“子餐”单选按钮,复选框保持未选中状态。(失败)

每当我不时单击两个单选按钮时,复选框将保持为未选中状态。我可以知道我的代码中的问题在哪里吗?我想知道的是,在前两次点击中(更改单选按钮)给出了成功场景,之后复选框不会根据单选按钮值更改

其他信息

jQuery-2.1.4
HTML5

使用道具而不是属性

$('input[name=“inputdime”]')。在('change',函数(){
var val=$(“输入[name='inputmine']:选中”).val();
如果(val==false){
$('input[name=“chkispringing”]').prop('checked',true);
}否则{
$('input[name=“chkispringing”]”)。prop('checked',false);
}
});

主食是什么
主食
副餐
是定价吗

使用道具而不是属性

$('input[name=“inputdime”]')。在('change',函数(){
var val=$(“输入[name='inputmine']:选中”).val();
如果(val==false){
$('input[name=“chkispringing”]').prop('checked',true);
}否则{
$('input[name=“chkispringing”]”)。prop('checked',false);
}
});

主食是什么
主食
副餐
是定价吗

下面是另一个实现:

$("input[type=radio][name='inputMeal']").on("change", function() {
     switch($(this).val()) {
         case '0':
             $('input[name="chkIsPricing"]').prop('checked', true);
             break;
         case '1':
             $('input[name="chkIsPricing"]').prop('checked', false);
             break;
     }
});

下面是另一个实现:

$("input[type=radio][name='inputMeal']").on("change", function() {
     switch($(this).val()) {
         case '0':
             $('input[name="chkIsPricing"]').prop('checked', true);
             break;
         case '1':
             $('input[name="chkIsPricing"]').prop('checked', false);
             break;
     }
});
使用
.attr()
可以设置DOM树中属性的值。根据浏览器、浏览器版本和jQuery版本(特别是1.6),这并不总是具有所需的效果

使用
.prop()
,可以操作属性(在本例中为“选中状态”)。我强烈建议在您的情况下使用
.prop()
,以便正确切换以下选项:

$('input[name="chkIsPricing"]').prop('checked', true);
JsFiddle:

有关更多信息,请参阅.prop()的函数。

使用
.attr()
设置DOM树中属性的值。根据浏览器、浏览器版本和jQuery版本(特别是1.6),这并不总是具有所需的效果

使用
.prop()
,可以操作属性(在本例中为“选中状态”)。我强烈建议在您的情况下使用
.prop()
,以便正确切换以下选项:

$('input[name="chkIsPricing"]').prop('checked', true);
JsFiddle:

有关更多信息,请参阅.prop()的说明。

//Onchange函数
$('input[type=“radio”]”)。绑定('change',function(){
if($(this).val()==0){
$('input[type=“checkbox”]”)。prop('checked',false);
}否则{
$('input[type=“checkbox”]”)。prop('checked',true);
}
})
//加载函数
var inputMine=$('input[type=“radio”]:checked').val();
如果(输入=1){
$('input[type=“checkbox”]”)。prop('checked',true);
}

主食是什么
主食
副餐
是定价吗
//Onchange函数
$('input[type=“radio”]”)。绑定('change',function(){
if($(this).val()==0){
$('input[type=“checkbox”]”)。prop('checked',false);
}否则{
$('input[type=“checkbox”]”)。prop('checked',true);
}
})
//加载函数
var inputMine=$('input[type=“radio”]:checked').val();
如果(输入=1){
$('input[type=“checkbox”]”)。prop('checked',true);
}

主食是什么
主食
副餐
是定价吗

谢谢达瓦尔。实际上,我想知道的是,“attr”前两次是如何工作的?我不知道正确的原因,但我在另一篇文章中发现了类似的问题,说attr不受欢迎。谢谢达瓦尔。实际上,我想知道的是,“attr”前两次是如何工作的?我不知道正确的原因,但我在另一篇文章中发现了类似的问题,说attr不受欢迎。attr用于jQuery1.5,attr的低版本副本用于jQuery1.5,attr的低版本副本用于jQuery1.5