簡體   English   中英

選中下拉菜單中的復選框

[英]Check a checkbox on a dropdown selection

我正在尋找一種從下拉列表中進行選擇時自動選中復選框的方法。 HTML代碼如下所示:

<table>
    <tr>
        <td>
            <input type="checkbox" name="check1" />Process 1:</td>
        <td>
            <select id="process1" name="process1">
                <option value="null">--Select Process--</option>
                <option value="NameA">NameA</option>
                <option value="NameB">NameB</option>
                <option value="NameC">NameC</option>
            </select>
        </td>
    </tr>
</table>

如果可能,如果用戶返回並選擇--Select Process-- ,則該復選框將取消選中

Javascript代碼將是什么樣子?

$(function(){
    $('#process1').change(function() {
        var selected = $('#process1 option:selected');
        if (selected.val() == "null") {
            $('input[name="check1"]').prop('checked', false);
        }
        else {
            $('input[name="check1"]').prop('checked', true);
        }
    });
});

嘗試這個:

DEMO

JS

function setChk(value){
    var chk = document.getElementById('check1');
    chk.checked = (value != 'null');
}

HTML

<table>
    <tr>
        <td>
            <input type="checkbox" name="check1" id="check1"/>Process 1:</td>
        <td>
            <select id="process1" name="process1" onchange="setChk(this.value);">
                <option value="null">--Select Process--</option>
                <option value="NameA">NameA</option>
                <option value="NameB">NameB</option>
                <option value="NameC">NameC</option>
            </select>
        </td>
    </tr>
</table>

jQuery會更簡單,但是在Javascript中,請嘗試向select添加onchange屬性:

onchange="checkValue()"

然后在javascript中:

function checkValue() {
   var e = document.getElementById("process1");
   var value = e.options[e.selectedIndex].value;
   if (value == "null") {
      document.getElementById("check1").checked=false;
   } else {
      document.getElementById("check1").checked=true;
   }
}

只需將ID添加到復選框id =“ check1”

這個答案真的很酷!

但是,如果打開它將使用jQuery,則代碼將如下所示:

jQuery(document).ready( function() {
    jQuery('#process1').on('change', function() {
        var selectedVal = jQuery(this).find('option:selected').val(),
            checkbox = jQuery('input[name="check1"]');
        if (selectedVal !== 'null') {
            checkbox.attr('checked', 'checked');
        } else {
            checkbox.removeAttr('checked');
        }
    });
});

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM