【问题标题】:Switch case based on flag condition根据标志条件切换大小写
【发布时间】:2014-03-20 10:08:43
【问题描述】:

我有 3 个变量来存储我的 3 个复选框状态,如下所示:

var selectA =$('#checkbox-v-6a').is(':checked');
var selectB =$('#checkbox-v-6b').is(':checked');
var selectC =$('#checkbox-v-6c').is(':checked');

我想根据复选框状态向python函数发送一个变量,例如如果所有复选框都被选中,则 selection = "all";如果只选择了复选框 A 和 B,则 selection="AB";如果只选择了复选框 C,则 selection="C"。我知道 var selectAselectBselectC 会给我 truefalse 但我不知道如何为此做一个开关盒?

还是我使用if-else

HTML:

<fieldset data-role="controlgroup" data-mini="true">
                    <legend>Select Pill Types</legend>
                    <input name="checkbox-v-6a" id="checkbox-v-6a" type="checkbox" class="pillselect" value="a">
                    <label for="checkbox-v-6a">Multivitamins</label>
                    <input name="checkbox-v-6b" id="checkbox-v-6b" type="checkbox" class="pillselect" value="b">
                    <label for="checkbox-v-6b">Calcium</label>
                    <input name="checkbox-v-6c" id="checkbox-v-6c" type="checkbox" class="pillselect" value="c">
                    <label for="checkbox-v-6c">Omega-3</label>
                </fieldset>

【问题讨论】:

    标签: javascript jquery checkbox switch-statement


    【解决方案1】:

    尽量用$.each()点赞,

    var selection=[];
    $(':checkbox:checked').each(function(){
       selection.push(this.id);
    });
    alert('Checked id: '+selection.join(', '));
    

    Demo

    如果你想在array 中设置values,那么试试这个,

    var selection=[];
    $(':checkbox:checked').each(function(){
       selection.push(this.value);
    });
    alert('Checked id: '+selection.join(', '));
    

    Update value demo

    【讨论】:

    • 如果我想获得价值呢?我已经用 HTML 代码更新了我的问题。我试过selection.push(this.val);,但它不起作用。
    • 使用this.value 喜欢selection.push(this.value); 见我的updated demo jsfiddle.net/rohankumar1524/A8TuU/1
    • join() 需要parameter stringconcat 试试这个selection.join('')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    相关资源
    最近更新 更多