听取任何下拉选择的事件?

时间:2013-12-01 16:25:59

标签: javascript jquery

我有MULTIPLE div,其中每个div由文本后跟一个下拉列表后跟一个文本字段组成,如下所示:

<div>
Punch <select>
         <option>Hawaiin Punch</option>
         <option>Vodka</option>
     <select/>
     <input type="text" id="textfield_2"></input>
</div>

我的完整示例如下:http://jsfiddle.net/HsF2Y/3/

执行以下操作:

  1. 在文本栏中输入“柠檬”。
  2. 从下拉列表中选择“Vodka”;它被附加到“柠檬”。在它之后输入“,”。
  3. 选择 再次“伏特加”;文字保持不变。
  4. 我想听一个“改变”以外的事件,这样第3步就会再次附加“伏特加”。因此,经过所有3个步骤,我的文本字段应显示文本:“柠檬,伏特加,伏特加”。有人可以纠正小提琴中的代码吗?感谢。

2 个答案:

答案 0 :(得分:0)

如果为每个选择添加空白选项,可以执行以下操作:

$("select.choices").change(function () {
    if (this.value) {
        $(this).next().trigger('doUpdate', [this.value]);
        /* reset after selections updated*/
        this.value = "";
    }
});

$('.selections').each(function () { /* loop each so data array unique*/
    $(this).data('selections', []).on('doUpdate', function (evt, newVal) {
        var data = $(this).data('selections')
        data.push(newVal)
        this.value= data.join();
    }).change(function(){
         /* for manually added store new array*/
        var arr= $.trim(this.value).split(',');
         $(this).data('selections',arr)
    });
});

DEMO

答案 1 :(得分:0)

您是否尝试使用click代替change