2016-04-21 3 views
-2

Мне было интересно, есть ли способ автоматической проверки определенных ящиков на основе значения из раскрывающегося списка. Я искал навсегда, и я могу только найти способы установить флажки SHOW или HIDE на основе раскрывающегося списка, но это не то, что я ищу.check checkbox on drop down

+1

пытались ли вы что-нибудь? это не так сложно. –

+1

Вам нужно будет объяснить свой вопрос лучше. Он помечен как PHP, так и JavaScript, так что это? Вы хотите, чтобы выпадающий список изменял значения флажков на одной странице с помощью JavaScript или вы хотите изменить значение флажков на новой странице после отправки формы. Кроме того, что вы пробовали до сих пор? – Chris

+0

Да, я пробовал много разных вещей, и все они либо не работают, либо СКРЫТЬ флажок все вместе. – Kevin

ответ

2

Вы можете сделать это довольно легко с помощью jQuery. Этот код прослушивает событие изменения из выпадающего списка с id="dropdown" и проверяет флажок с id="checkbox", если раскрывающийся текст был равен 'foo'.

$("#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); В принципе, могу ли я сделать так, чтобы один идентификатор был проверен на основе этого значения? – 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>