2011-07-13 42 views
3

当我使用jQuery向DropDownList添加新选项时,无论何时使用该dropdownlist,都会重复该值。使用jquery在组合框中动态添加选项

有关示例:

var myOptions = { val1 : 'Suganthar', val2 : 'Suganthar2'}; 

    $.each(myOptions, function(val, text) { 
     $('#mySelect').append(new Option(text, val)); 
    }); 

Suganthar,和Suganthar2是duplicatiing值。

任何人都可以给我一些想法解决这个问题,

+0

对我来说看起来确实http://jsfiddle.net/qjXsP/还是我想念什么? – Sotiris

回答

6

其实它应该工作,但是你可以通过使用一个数组尝试另一种方法:

var myOptions = [{ text: 'Suganthar', value: 1}, {text : 'Suganthar2', value: 2}]; 

$.each(myOptions, function(i, el) 
{ 
    $('#mySelect').append(new Option(el.text,el.value)); 
}); 
4

您的代码工作对我来说,看到:

http://jsfiddle.net/DvWct/

也许你错过了$(document).ready部分和选择元素不存在时,CO德运行?

1

感谢您的回答。我的情况是不同的。看起来像

  1. 有两个按钮,审查该语句和撤回语句。在这两种情况下,即时通讯使用相同的对话框,其中包含特定的组合框(Suganthar和suganthar 2记录)
  2. 首先,当我点击查看语句按钮时,对话框将弹出组合框和那两个记录,然后工作正常,直到程序结束。
  3. 其次,当我点击收回回顾按钮,同一个对话框会弹出组合框(suganthar,suganthar2,suganthar,suganthar 2重复值

日志搜索后这个,我发现并得到了一个主意......

var myOptions = [{ text: 'Suganthar', value: 1}, {text : 'Suganthar2', value: 2}]; 

**$('#mySelect').empty();** 
$.each(myOptions, function(i, el) 
{ $('#mySelect').append(new Option(el.text,el.value));}); 

所以我们每次配偶都会有空。

希望它会帮助你,当你遇到同样的问题。我真的很感谢你在回答这个问题时的快速反应。再来一次。谢谢