我正在寻找一种方法来交换它们之间的选项值。 我做了一个简单的小提琴,它会交换输入,但当我改变选择选项时,它似乎不起作用。
我正在使用Address的方法。例如:
var prevAddress = $(this).parent().prev('.forms').find('.first option');
var nextAddress = $(this).parent().next('.forms').find('.second option');
var tmp = prevAddress.val();
prevAddress.val(nextAddress.val());
nextAddress.val(tmp);
这是小提琴:http://jsfiddle.net/rfe8K/
非常感谢
答案 0 :(得分:1)
假设您有一个select元素的引用,并且您想要交换前两个选项,那么:
select.insertBefore(select.options[1], select.options[0]);
会做到这一点。
答案 1 :(得分:1)
<select>
元素不起作用。 .val()
元素的<select>
是当前值,但您无法将<select>
设置为不包含的值,您必须确保{{1}有一个<select>
子元素匹配您想要设置的值;只是致电<option>
并未向.val('pancakes')
添加<option value="pancakes">
。
您需要做的是将包含的<select>
元素从第一个<option>
移动到第二个<select>
,反之亦然。更像是这样:
$('.swap a').click(function() {
var opt1 = $(this).parent().prev('.forms').find('option');
var opt2 = $(this).parent().next('.forms').find('option');
$(this).parent().prev('.forms').find('select').append(opt2);
$(this).parent().next('.forms').find('select').append(opt1);
});