2011-04-25 79 views
2

任何人都可以帮我理解这段代码是如何工作的吗?我假设它产生类似<option value="val">text</option>,,但我不明白它是如何做到这一点的。JQuery .val(value)

$('<option></option>').val(val).html(text) 

以上片段是我用两个选项添加到<select>声明下面的代码部分。

var myOptions = {val1:'text1', val2:'text2'}; 
$.each(myOptions, function(val, text) 
{ 
    $('#mySelect').append($('<option></option>').val(val).html(text)); 
} 
+0

欢迎来到StackOverflow!当你问你的问题时,右边有这个方便的**如何格式**框。值得一读,就像问题区域上方** [?] **那样[链接的页面](http://stackoverflow.com/editing-help)。这是非常重要的**,以正确地格式化代码,以便清晰地表达问题。 @alexn这次为你做了,但下一次,最好自己一开始就做。 – 2011-04-25 10:46:54

回答

0

基本上,它解释为

<option value="val">text</option> 

详细说明:

  • $('<option></option>'):创建新的选项元素

  • .val(val):给出它的值val

  • .html(text):插入为选项文本

    var myOptions = {val1:'text1', val2:'text2'};:这部分interate在所有:它定义了包含一个阵列,其用于填充选择框

$.each(myOptions, function(val, text) {}valuetext myOptions可用并接收值为val,文本为text

$('#mySelect').append部分增加了上述标记(<option value="val">text</option>)入选择框$('#mySelect')在末端。

0

您引用的代码设置选项标记的value属性,然后设置文本值。所以它会看起来像这样

<option value="your-val">your-text</option> 

然后你将它添加到选择。

3

它的是创建一个<option>元素

$('<option></option>') 

设置它的“价值”属性参数val

.val(val) 

的价值,并将其“文本”(什么是“内“<option>元素)至参数值text

.html(text) 

然后,它将生成的元素附加到<select>元素内的<option> s列表中,其ID等于mySelect

实际上,这会根据myOptions对象的内容动态填充<select>元素。