2016-04-21 93 views
-2

我想知道是否有方法根據下拉選擇的值自動檢查某些框。我一直在尋找,我似乎只能找到基於下拉菜單的SHOW或HIDE複選框,但這不是我正在尋找的。根據下拉選中複選框

+1

做你試一下?這並不困難。 –

+1

你將不得不更好地解釋你的問題。它被標記爲PHP和JavaScript,所以它是什麼?您是否希望下拉菜單使用JavaScript在同一頁面上更改複選框的值,或者是否希望在提交表單後更改新頁面上覆選框的值。另外,你到目前爲止嘗試過什麼? – Chris

+0

是的,我嘗試了許多不同的東西,他們都不工作或隱藏複選框在一起。 – Kevin

回答

2

你可以很容易地用jQuery來做到這一點。此代碼會從id="dropdown"的下拉菜單中偵聽更改事件,並在下拉文本等於'foo'的情況下選中id="checkbox"複選框。

$("#dropdown").change(function() { 
    if($('#dropdown :selected').text() === 'foo') $('#checkbox').prop('checked', true); 
}); 

如果要取消時,選擇再次改變盒子這樣的事情可能會更好:

$("#dropdown").change(function() { 
    var text = $('#dropdown :selected').text(); 
    $('#checkbox').prop('checked', text === 'foo'); 
}); 

Fiddle

+0

問題是,如果我有5個複選框....和3下拉值...當下拉1是選擇複選框1,3,5 ...如果下拉2是選擇複選框2,3,5等等on ... – Kevin

+0

可以使$('#checkbox','#checkbox2')。prop('checked',true);基本上,我可以做到這一點,然後根據該值檢查一個ID嗎? – Kevin

+0

是的!究竟。我更新了小提琴以表明這一點。 (在選擇器上的語法略有不同) – IrkenInvader

0

這應該做你問什麼。希望能幫助到你!

function setCheckBox(value){ 
 
    var chk = document.getElementById('check1'); 
 
    chk.checked = (value != 'null'); 
 
}
<table> 
 
    <tr> 
 
     <td> 
 
      <input type="checkbox" name="check1" id="check1"/>Test 1:</td> 
 
     <td> 
 
      <select id="process1" onchange="setCheckBox(this.value);"> 
 
       <option value="null">--Select Option--</option> 
 
       <option value="OptionA">Option A</option> 
 
       <option value="OptionB">Option B</option> 
 
       <option value="OptionB">Option C</option> 
 
      </select> 
 
     </td> 
 
    </tr> 
 
</table>

0

不知道你的具體情況,但這個做什麼你問,你應該能夠採取部分從它來完成你的任務。

document.getElementById('changer').onchange = function(){ 
 
    var boxes = document.querySelectorAll('input[type="checkbox"]'); 
 
    for(var i=0;i<boxes.length;i++) 
 
    { 
 
    \t boxes[i].checked = boxes[i].id == this.value; 
 
    } 
 
};
<select id='changer'> 
 
    <option>None</option> 
 
    <option value='a'>A</option> 
 
    <option value='b'>B</option> 
 
    <option value='c'>C</option> 
 
    <option value='d'>D</option> 
 
</select> 
 
<br /> 
 
<input type='checkbox' id='a' /><label for='a'>A</label><br /> 
 
<input type='checkbox' id='b' /><label for='a'>B</label><br /> 
 
<input type='checkbox' id='c' /><label for='a'>C</label><br /> 
 
<input type='checkbox' id='d' /><label for='a'>D</label>