jQuery Chosen插件使用Ajax动态添加选项?

时间:2016-03-23 06:57:51

标签: jquery ruby-on-rails ruby jquery-chosen

首先,这不是一个重复的问题。我检查了所有可用的问题,但我找不到解决方案。

我的问题是,我正在使用Jquery choosen插件version 1.5.1创建多个选择表单字段的项目。在某些multi select fields中,如果列表中没有该选项,我需要动态添加选项。例如

我有tags字段,有3个选项
男性 2.female
3.kids但我允许用户能够为此字段添加任何新标记,例如young baby。为了达到这个目的,我在下面的教程中做了这个 add attributes dynamically in using chosen plugin

这很好用。但问题是这是在所有multi-select字段中添加新值。像products这样的字段不应该允许添加。我有一个非常少的字段来添加动态值。所以想要在表单中使用case 13逻辑来添加标签。到现在为止我试过这个

$('#product_tags').on( "keypress", function (e) {

  if (e.which == 13) {
    e.preventDefault();
    $('#product_tags').empty();
    $('#product_tags').append('<option>' + $(evt.target).val() + '</option>');
    $('#product_tags').trigger("chosen:updated");
  }
});

它不起作用。我怎么能实现这个?任何帮助都会很感激..谢谢

1 个答案:

答案 0 :(得分:2)

试试这个

$(".chosen-container").on('keyup',function(event) {
  if(event.which === 13) {
    $("#product_tags").append('<option value="' + $(event.target).val() + '" selected="selected">' + $(event.target).val() + '</option>');
    $("#product_tags").trigger('chosen:updated');
   }

});