2016-02-05 1 views
1

Я очень новичок в jquery, и мне нужна небольшая помощь. У меня есть selectbox с 3 группами. группа1 со значением 1,3,5 group2 со значением 1,2,3,4,5 группы 3 со значением 1,5Bind input select to group of checkboxes jquery

Когда я выбираю группу, флажки должны быть отмечены. Когда я выбираю group1, проверьте флажок 1,3,5 при выборе Group3, проверьте флажок 1,5

HTML: 
<div> 
<select name="group_id" id="input-group" class="form-control"> 
    <option value="">Select</option> 
    <option value="1,3,5">Group 1</option> 
    <option value="1,2,3,4,5">Group 2</option> 
    <option value="1,5">Group 3</option> 
</select> 
</div> 
<div> 
<input type="checkbox" id="checkbox1" value="1" /> 
<input type="checkbox" id="checkbox2" value="2"/> 
<input type="checkbox" id="checkbox3" value="3"/> 
<input type="checkbox" id="checkbox4" value="4"/> 
<input type="checkbox" id="checkbox5" value="5"/> 
</div> 

JS: 
$('select').on('change', function() { 

}) 

DEMO: https://jsfiddle.net/rd2mz7nh/1/

Я надеюсь, что вы можете мне помочь и спасибо за поддержку

BR Thomas

+0

Проверьте мою обновленную версию скрипки, дайте мне знать, что вы думаете: https://jsfiddle.net/q6th3zds/ – Aeolingamenfel

+0

я приведу объяснения что я сделал, если это то, что вы искали? – Aeolingamenfel

ответ

0

Простым решением является сравнение выбранных значений параметров с каждым флажком и установка соответствующей проверки. Ниже приведен код

$("input:checkbox").prop("checked", false); // Uncheck all when page is loaded 

    $('#input-group').on('change', function() { 
     var selectedValues = this.value; 
     $("input:checkbox").each(function() { 
     var isChecked = selectedValues.split(',').indexOf($(this).attr("value")) > -1; 
     $(this).prop("checked", isChecked); 
     }); 
    }); 

Демо: https://jsfiddle.net/4pqg1w8c/

+0

Привет, спасибо, спасибо спасибо - это то, что мне нужно. Спасибо за оба решения, но я думаю, что это проще. – Thomas

+0

Пожалуйста, проголосуйте и установите это как ответ. Это будет полезно для других – Thangaraja