Ответ 1
$('#selector').change(function() {
var idx = this.selectedIndex;
$("select#selected").prop('selectedIndex', idx);
});
Привет, нужно изменить выбранный индекс a, когда другой был изменен. Пример: я
<select id="selector">
<option>No 1</option>
<option>No 2</option>
</select>
<select id="selected">
<option>ONE</option>
<option>TWO</option>
</select>
теперь я хочу, чтобы индекс $selected изменялся при изменении индекса #selector. Например, когда я изменяю значение "Нет 2", другое поле со списком будет изменено на "TWO". простите меня за вопрос новичков, но im new для jquery ^^
$('#selector').change(function() {
var idx = this.selectedIndex;
$("select#selected").prop('selectedIndex', idx);
});
Я бы предложил:
$('#selector').change(
function(){
var index = this.selectedIndex;
$('#selected option').eq(index).prop('selected',true);
});
Литература:
Просто используя обычный JavaScript, потому что jQuery кажется ненужным для этого:
document.getElementById('selector').onchange = function() {
document.getElementById('selected').selectedIndex = this.selectedIndex;
}
с jQuery 1.7.2
$(document).on('change', '#selector', function (){
var si = this.selectedIndex
$('#selected option').eq(si).prop('selected',true);
});
Выбранное значениеIndex начинается с 0.
Если раскрывающийся список позволяет несколько вариантов выбора, он будет возвращать только индекс первой выбранной опции.
Значение "-1" отменит выбор всех параметров (если есть).
Если опция не выбрана, свойство selectedIndex вернет -1.
$('#idselect').change(function() {
var index = this.selectedIndex;
//...
});