связь select с checkbox
Всем привет! Через изменение <select> связал с ajax получением результата ответа в формате json.
я получаю массива формате <select> <option value>Пакет 1</option> <option value>Пакет 2</option> </select> При выборе Пакет 1
[{"id":"1", "predmet":"флешка"},{"id":"2", "predmet":"дискета"},{"id":"2", "predmet":"дисковод"}]
При выборе Пакет 2
[{"id":"1", "predmet":"флешка"},{"id":"2", "predmet:"дискета"}]
и у меня есть группа checkboxov <input type="checkbox" id='флешка'/>Флешка <input type="checkbox" id='дискета'/>дискета <input type="checkbox" id='Дисковод'/>дисковод Соответсвенно при каждом выборе надо чтобы выбирались только те которые есть в массиве.У меня выбирает но при выборе Пакет 2 checkbox Дисковод так же остается отмеченным. вод код ajax при success:
var asd=JSON.parse(data);
for (var i = 0; i < asd.length; i++) {
var paket=asd[i].predmet;
if($("#"+paket).length) {
$("#"+paket).attr("checked",true);
}else {
//$("input:checkbox").removeAttr("checked");
}
}
Как сделать чтобы при каждом выборе селект отмечались тока те checbox которые есть в массиве..... а не просто шло добавлеие т.е. при выборе пакета 1 он отмечает все три при выборе пакета 2 также все остаеться отмеченным хотя надо отметить только 2 |
AlexSergeev1990,
перед циклом сбросить все, в цикле только установка. |
Цитата:
Цитата:
|
AlexSergeev1990,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
data = '[{"id":"1", "predmet":"флешка"},{"id":"2", "predmet":"дискета"},{"id":"2", "predmet":"дисковод"}]'
var asd=JSON.parse(data);
$(".check").prop({checked: false});
asd.forEach(function(el) {
el = document.querySelector("#"+el.predmet);
el && el.checked = true
});
});
</script>
</head>
<body>
<input type="checkbox" id='флешка'/ class="check" >Флешка
<input type="checkbox" id='дискета' class="check"/>дискета
<input type="checkbox" id='дисковод' class="check"/>дисковод
</body>
</html>
|
Спасибо тебе большое!!!!))))
:thanks: :) :agree: [quote=рони;460003]AlexSergeev1990,
Даже не представляешь что только не перепробовал) То что нужно) огроменное спасибо!!!) |
| Часовой пояс GMT +3, время: 09:09. |