【问题标题】:Add items to select field form - Jquery添加项目以选择字段表单 - Jquery
【发布时间】:2013-01-05 18:27:55
【问题描述】:

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

// 这是我的可见字段

<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 会这样做,但我不知道如何实现。

【问题讨论】:

  • 需要进一步解释.. 除非您希望立即选择它,否则仅添加该选项不会使其被选中。期待多个添加?当用户更改可见选择时,也可以在没有按钮的情况下执行此操作

标签: javascript jquery html forms dom


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我不知道您要做什么..但是将其添加到选择中并以表格形式传递对我来说毫无意义,因为您需要再次选择隐藏的选择框才能将其传递给表格.. . 无论如何 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 之前,用 ',' 分隔隐藏值。

    示例fiddle

    【讨论】:

    • 好点。这里太早了!我的原始选择字段有几个选项,我需要将用户选择和点击的选项添加到一个数组中,我可以在我的表单中传递该数组以插入到数据库中。
    • 在这种情况下,您可以使用隐藏输入.. 使用逗号分隔值.. 我认为这很容易.. 稍后您可以分隔逗号并将其插入 db.. 好的,坚持下去,我会的发布一些例子..
    • 更新了我的答案..检查一下......还有例子小提琴..确保隐藏字段中的值是正确的
    • 谢谢,效果很好。虽然我注意到了两件事。 1)即使从未点击添加按钮,它也会自动添加默认值。因此,如果我只是打开表单并点击提交,就像添加了默认选择值一样。 2)有没有办法让添加的选项从选择字段中消失?
    • 我认为第一个问题是因为提交也是一个“btn”对象,也许我应该在添加按钮上放一个 id.. 并以某种方式在函数中指定该 ID
    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2012-08-21
    • 2015-09-26
    • 1970-01-01
    • 2010-12-16
    相关资源
    最近更新 更多