Функция next()
Всем привет, есть несколько селектов (<select>) на странице как при нажатии на селект выбрать следующий за ним селект.
<select> <option>1</option> <option>2</option> </select> <select> <option>1</option> <option>2</option> </select> Пробовал так:
$("body").on("change","select",function(){
$(this).next("#select_"+selected_depth).append(data);
})
не работает, ссылка $(this) обязательна, т.е. нужно определить селект на который нажали, |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function (){
$("body").on("change","select",function(){
$(this).next('select').focus();
});
});
</script>
</head>
<body>
<select>
<option></option>
<option>1</option>
<option>2</option>
</select>
<select>
<option></option>
<option>1</option>
<option>2</option>
</select>
</body>
</html>
|
Спасибо за ответ, но мне надо в выбранный селект добавить пункты <option></option>
Варианты
$(this).next("select").data(options);
$(this).next("select").append(options);
$(this).next('select').focus().append(options)
не работают |
Купэ, что есть у тебя options? :blink:
|
Цитата:
Как вариант...
$(this).next('select').prepend('<option></option>').focus();
|
Ваш вариант правильный , только я в функции $.post() добавляю варианты списка там и ссылку ставлю в этой функции из-за этого не добавляется. ,т.е.
$("document").ready(function(){
$("body").on("change","select",function(){
$.post("/auth/load_objects_by_depth.php",{},function(data){
$(this).next("select").prepend(data).focus();
})
})
})
Можно как-нибудь из этой функции сослаться на функцию которая вызывается при изменении списка ? |
Цитата:
Как вариант...
$(function(){
$("body").on("change","select",function(){
var obj=this;
$.post(
"/auth/load_objects_by_depth.php",
{},
function(data){
$(obj).next("select").prepend(data).focus();
}
);
});
});
|
Спасибо, я вчера до этого додумался, если можете ответьте на вопрос есть div внутри него селекты , как при нажатии на селект определить в каком контейнере <div> он находится и перебрать следующие за ним селекты
<div class="cont">
<select id="select_1">
<option>1</option>
</select>
<select id="select_2">
<option>1</option>
</select>
</div>
<div class="cont">
<select id="select_1">
<option>2</option>
</select>
<select id="select_2">
<option>3</option>
</select>
</div>
Пробовал делать так:
$("body").on("change","select",function(){
var main_container =$(this).parent('.cont');
var count_select = $("select[id^='select_']").size();
for ( var i = 1; i <= count_select; i++ ){
$(main_container" > #select_"+i).prop("disabled", true);// не пашет
или
("#select_"+i).parent(main_container).prop("disabled",true);//тоже не пашет
}
})
|
Купэ,
а то что id повторяется ? |
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 06:28. |