我正在寻找一种在它们之间交换选项值的方法。 我制作了一个可以交换输入的简单 fiddle ,但是当我将其更改为选择选项时,它似乎不起作用。
我正在使用地址方法。例如:
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);
这是 fiddle :http://jsfiddle.net/rfe8K/
非常感谢
最佳答案
<select>
元素不能那样工作。 .val()
的 <select>
元素是当前值,但您不能设置 <select>
到它不包含的值,你必须确保 <select>
有一个 <option>
与您要设置的值相匹配的 child ;只是打电话.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);
});
还有一个更新的 fiddle :http://jsfiddle.net/ambiguous/VrUmQ/1/
关于javascript - 如何: Swap options with jQuery using Address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6756458/