单击最近按钮时从多选中获取选项值

时间:2014-05-21 21:21:43

标签: jquery select element closest

我有一个包含多个多选元素的表单,每个元素都有自己的添加和删除按钮。如何将最近的选择元素与每个添加和删除按钮相关联。

以下是HTML的一小部分:

<div>Administrator</div>
<input type="button" class="add" value="Add" /> | <input type="button" class="remove" value="Remove" />

<select name="list_1" size="10" multiple="multiple">
    <option value="1">John Doe</option>
    <option value="3">Jimmy Jack</option>
    <option value="13">George Stephen</option>
    <option value="26">Joe Smith</option>
    <option value="30">Mary Kay</option>
    <option value="76">Ace Ventura</option>
</select>

这是我迄今为止尝试过的jQuery。返回的所有值都是未定义的:

$('.remove').click( function( e ) {     

    var temp1 = $(this).prev('select').val();
    var temp2 = $(this).next('select').val();
    var temp3 = $(this).closest('select').val();        
    var temp4 = $(e.target).prev('select').val();
    var temp5 = $(e.target).next('select').val();
    var temp6 = $(e.target).closest('select').val();

    window.console&&console.log('temp1: ' + temp1); 
    window.console&&console.log('temp2: ' + temp2); 
    window.console&&console.log('temp3: ' + temp3); 
    window.console&&console.log('temp4: ' + temp4); 
    window.console&&console.log('temp5: ' + temp5); 
    window.console&&console.log('temp6: ' + temp6); 

    e.preventDefault();

});

1 个答案:

答案 0 :(得分:0)

我认为您应该再次查看原始代码。 我刚刚复制了你的代码和$()。接下来就可以了。

var temp2 = $(this).next('select').val();

Fiddle