0

我有一个带有选择字段的表单,后跟一个添加按钮。当用户单击添加时,我希望将选择的任何项目添加到数组中,以便我可以在表单中传递它

// 这是我的可见字段

<select id="contactsFollow" name="contactsFollow">
  <option value="1">option 1</option>
  <option value="2">option 2</option>
  <option value="3">option 3</option>
</select> 
<button type="button" class="btn">Add</button>

我这样做的最佳方式是什么?我假设 jquery 会这样做,但我不知道如何实现。

4

2 回答 2

2

演示:http: //jsfiddle.net/MsNKR/

$('.btn').click(function () {
  $('#contactsFollow :selected').appendTo('#contactsFollowSelected');
});

或演示: http: //jsfiddle.net/zvQgq/如果您不想从第一次选择中删除选项

$('.btn').click(function () {
  $('#contactsFollow :selected').clone().appendTo('#contactsFollowSelected');
});
于 2013-01-05T18:33:35.843 回答
1

我不知道您要做什么..但是将其添加到选择中并以表格形式传递对我来说毫无意义,因为您需要再次选择隐藏的选择框才能将其传递给表格...无论如何都是jquery对我来说是最好的选择..

这就是你如何做到的..

$('.btn').click(function () {
  $('#contactsFollow :selected').appendTo('#contactsFollowSelected');
});

更新

制作隐藏输入字段..

<input type="hidden" name="selectedoption" id="selectedoption" value="" />

jQuery

$('.btn').click(function () {
   var selected=$('#contactsFollow :selected').val();
   var hiddeninputValue=$('#selectedoption').val();
   if(hiddeninputValue==""){
      $('#selectedoption').val(selected);
   }else{
      $('#selectedoption').val(hiddeninputValue + ',' + selected);
   }
   $('#contactsFollow :selected').remove();
});

在将隐藏值插入到 db 之前,用 ',' 分隔隐藏值。

示例小提琴

于 2013-01-05T18:35:08.677 回答