首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据单选按钮选择更改禁用复选框上的值属性的问题

根据单选按钮选择更改禁用复选框上的值属性的问题
EN

Stack Overflow用户
提问于 2013-03-12 20:06:41
回答 1查看 750关注 0票数 0

我在编辑复选框上的disabled和value属性时遇到了一个问题,这是基于选择了哪个单选按钮。

当我选择input#package-1,然后选择input#highlighted时,该函数可以工作。然而,当我再次选择input#package 1时,它失败了。当我这样做时,复选框上的值不会改变(这是不正确的),但是disabled属性被去掉了(这是正确的)。

任何帮助都将不胜感激。

代码语言:javascript
复制
$(document).ready(function(){
    $('.package-select').change(function(){
       if ($('#package-2').is(':checked') || $('#package-1').is(':checked') ){
             $('input#extrasRouter').removeAttr('disabled');
             $('input#extrasRouter').val("36-Wireless router - £44.99 - TEST"); // Changing value to select the PAID FOR router 

         } else {
             $('input#extrasRouter').val("21-Wireless router - FREE");
             $('input#extrasRouter').attr('disabled', true);     
         }   
    });
});


<!-- Radio button that are being selected which should affect the below checkbox -->
        <label for="package-3" class="package-select" id="tb-package-3">
            <span class="name">Home Worker 20</span>
            <input type="radio" value="16-Home Worker 20 - &pound;35 per month" id="package-3" class="validate required" name="package">
        </label>

        <label for="highlighted" class="package-select" id="tb-highlighted">
            <span class="name">Home 20</span>
            <input type="radio" value="10-Home 20 - &pound;22 per month" id="highlighted" class="validate required" name="package">
        </label>

        <label for="package-2" class="package-select" id="tb-package-2">
            <span class="name">Home 10</span>
            <input type="radio" value="12-Home 10 - &pound;17 per month" id="package-2" class="validate required" name="package">
        </label>

        <label for="package-1" class="package-select" id="tb-package-1">
            <span class="name">Basic</span>
            <input type="radio" value="13-Basic - &pound;10 per month" id="package-1" class="validate required" name="package" >
        </label>

<!-- Checkbox that is being edited -->
<input type="checkbox" checked="" name="options[]" id="extrasRouter" value="21-Wireless router - &pound;44.99"   />
EN

回答 1

Stack Overflow用户

发布于 2013-03-12 20:09:39

checked是一个属性,而不是一个属性。更改以下内容:

代码语言:javascript
复制
$('input#extrasRouter').removeAttr('disabled');
...
$('input#extrasRouter').attr('disabled', true);

对于以下内容:

代码语言:javascript
复制
$('input#extrasRouter').prop('disabled', false);
...
$('input#extrasRouter').prop('disabled', true);

此外,请尝试在禁用之前/重新启用后设置这些值,而不是在框被禁用时进行设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15360762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档