首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许在任何时候选中1个"JS生成“复选框

允许在任何时候选中1个"JS生成“复选框
EN

Stack Overflow用户
提问于 2018-01-17 05:00:03
回答 1查看 32关注 0票数 0

如何使js允许在任何时候选择一组复选框中的一个复选框。我已经按照下面的代码完成了用html代码创建的复选框,但是这段代码(请参阅下面的尝试)不适用于JS生成的复选框。对此有任何帮助吗

注意,在最底层的代码中,许多复选框是JS作为for循环函数的一部分创建的,因此on('click', function(evt)需要适合len变量才能工作。

Html代码:

代码语言:javascript
复制
<tr>
    <td>Prior to work on Site- Submit Telstra Building Works Permit in TCSS</td>
    <td>        
    <fieldset data-role="controlgroup" data-type="horizontal">
    <input type="checkbox" name="F06_yes_1" id="F06_yes_1" data-mini="true" class = "f06_1" />
    <label for="F06_yes_1">Yes</label>                              
    <input type="checkbox" name="F06_no_1" id="F06_no_1" data-mini="true" class = "f06_1"/>
    <label for="F06_no_1">No</label>                                
    <input type="checkbox" name="F06_na_1" id="F06_na_1" data-mini="true" class = "f06_1" />
    <label for="F06_na_1">N/A</label>                               
    </fieldset>                             
    </td>
    <td><input name="F06-c-1" type="text" /></td>
</tr>

工作js代码:

代码语言:javascript
复制
$('input.f06_1').on('click', function(evt) {
    if ($('.f06_1:checked').length > 1) {
        $('input.f06_1').not(this).prop('checked', false).checkboxradio("refresh");
    }

});

由js:创建的复选框的代码

代码语言:javascript
复制
table_asset.append(
'<tr>\
    <td><input name="asset_description_'+ (len+1)+'" type="text"  value="' + key + '" /></td> \
    <td><input name="asset_cost_'+ (len+1)+'" type="text" value="' + formatter.format(data[item][key]) + '" onkeydown="return false"/></td> \
    <td>\
        <fieldset data-role="controlgroup" data-type="horizontal"> \
            <input type="checkbox" name="asset_allocation_capex_'+ (len+1)+'" id="asset_allocation_capex_'+ (len+1)+'" data-mini="true" ' + capex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
            <label for="asset_allocation_capex_'+ (len+1)+'">Capex</label> \
            <input type="checkbox" name="asset_allocation_opex_'+ (len+1)+'" id="asset_allocation_opex_'+ (len+1)+'" data-mini="true" ' + opex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
            <label for="asset_allocation_opex_'+ (len+1)+'">Opex</label>\
        </fieldset>\
    </td>\
    <td><input name="asset_number_'+ (len+1)+'" type="text" value=" ' + asset_number_var + ' "/></td> \
    <td><select name="asset_desc_' + (len+1)+'" id="test" data-mini="true" ' +  asset_type + '</select> </td> \
    <td style="display:none;" > <input  name="type_'+ (len+1)+'" type="text" value="design"/></td>\
</tr>'  
);

                                                );
EN

回答 1

Stack Overflow用户

发布于 2018-01-17 05:03:36

如果您只想要一个选项可选,您应该使用单选按钮而不是复选框。

radio

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

https://stackoverflow.com/questions/48293890

复制
相关文章

相似问题

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