Связать select и radio
Всем, привет!
подскажите как я могу связать список <select class="spisok "> <option value="0" class="no_select">Выберите ваш район</option> <option value="1">Район1</option> <option value="2">Район2</option> </select> чтобы при выборе определенного "Района" выбирался определенный radio <input type="radio" name="delivery" value="1" class="delivery-item" id="del-type-1"> <input type="radio" name="delivery" value="2" class="delivery-item" id="del-type-2"> спасибо! |
<body>
<select class="spisok" onchange="selRadio(this.value)">
<option value="0" class="no_select">Выберите ваш район</option>
<option value="1">Район1</option>
<option value="2">Район2</option>
</select>
<input type="radio" name="delivery" value="1" class="delivery-item" id="del-type-1">
<input type="radio" name="delivery" value="2" class="delivery-item" id="del-type-2">
<script>
function selRadio(val) {
var rad = document.getElementsByName("delivery");
for (var i = 0; i < rad.length; i++) {
rad[i].checked = rad[i].id == "del-type-" + val;
}
}
</script>
</body>
можно так и еще есть куча вариантов |
Спасибо, только у меня не работает, почему то..
|
еще вариант. если не работfет смотри в консоли броузера ошибки
<body>
<select class="spisok" name="spisok">
<option value="0" class="no_select">Выберите ваш район</option>
<option value="1">Район1</option>
<option value="2">Район2</option>
</select>
<input type="radio" name="delivery" value="1" class="delivery-item" id="del-type-1">
<input type="radio" name="delivery" value="2" class="delivery-item" id="del-type-2">
</body>
<script>
function selRadio(val) {
var spisok = document.getElementsByName("spisok")[0];
var rad = document.getElementsByName("delivery");
spisok.onchange = function () {
for (var i = 0; i < rad.length; i++) {
rad[i].checked = rad[i].id == "del-type-" + this.value;
}
}
}
window.onload = selRadio;
</script>
|
спасибо, буду искать проблему.
|
еще вариант
<body>
<select class="spisok">
<option value="0" class="no_select" disabled selected>Выберите ваш район</option>
<option value="1">Район1</option>
<option value="2">Район2</option>
</select>
<input type="radio" name="delivery" value="1" class="delivery-item" id="del-type-1">
<input type="radio" name="delivery" value="2" class="delivery-item" id="del-type-2">
</body>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script>
(function ($) {
$(function () {
$('select.spisok').change(function () {
$('#del-type-' + this.value).prop('checked', true);
});
$('input[name="delivery"]').change(function () {
$('select.spisok').find('option[value="' + this.value + '"]').prop('selected', true);
});
});
}(jQuery));
</script>
|
Связанные списки + radio
Poznakomlus, спасибо нашел там ошибку. Теперь встал вопрос, а как сделать так, чтобы не просто выделялся radio, а еще и совершалось действие onclik
<input type="radio" name="delivery" value="1" class="delivery-item" id="del-type-1" onclick="shEvOrd('delivery',this,1)">
т.е. когда я сам кликаю на radio у меня срабатывает onclick="shEvOrd('delivery',this,1)". А когда выбираю значение из select, то нет. Пробовал так:
(function ($) {
$(function onclick(shEvOrd) {
$('select.spisok').change(function () {
$('#del-type-' + this.value).prop('checked', true);
});
$('input[name="delivery"]').change(function () {
$('select.spisok').find('option[value="' + this.value + '"]').prop('selected', true);
});
});
}(jQuery));
но чего то не срабатывает :( |
| Часовой пояс GMT +3, время: 22:00. |