Javascript 使用jQuery追加选择字段的选项
我正在使用以下代码:Javascript 使用jQuery追加选择字段的选项,javascript,jquery,dom,Javascript,Jquery,Dom,我正在使用以下代码: var tempObj = { "noselected" : "", "option1": "item1", "option2": "item2", "option3": "item3" }; $.each(tempObj, function (val, text) { $(this).append($('<option />', { value: val,
var tempObj = {
"noselected" : "",
"option1": "item1",
"option2": "item2",
"option3": "item3"
};
$.each(tempObj, function (val, text) {
$(this).append($('<option />', {
value: val,
text: text
}));
});
而且只有第一个元素没有附加。您需要这样做-
$.each(tempObj, function (val, text) {
$('<option />', {
value: val,
text: text
}).appendTo('select');
});
$('select').click(function () {
var $this = $(this);
$.each(tempObj, function (val, text) {
$this.append($('<option />', {
value: val,
text: text
}));
});
});
演示
-->
您需要这样做-
$.each(tempObj, function (val, text) {
$('<option />', {
value: val,
text: text
}).appendTo('select');
});
$('select').click(function () {
var $this = $(this);
$.each(tempObj, function (val, text) {
$this.append($('<option />', {
value: val,
text: text
}));
});
});
演示-->
$。每个(tempObj,函数(val,text){
$('select')。追加($('',{
值:val,
文本:文本
}));
});
$。每个(tempObj,函数(val,text){
$('select')。追加($('',{
值:val,
文本:文本
}));
});
change$(this)
引用select
-$('select#someId')。append(…)
。append()
用于将节点插入DOM。您需要使用选择器获取页面上的select
元素,然后在处理程序内的tempObj上迭代。追加似乎部分起作用。$(this)与我的select元素in$关联。每条语句,this
引用列表中的单个项(该$。每个在迭代中)change$(this)
引用select
-$('select#someId')。append(…)
。append()
用于将节点插入DOM。您需要使用选择器获取页面上的select
元素,然后在处理程序内的tempObj上迭代。追加似乎部分起作用。$(this)与我的select元素in$相关联。每个语句,this
都引用列表中的单个项(即$。每个在迭代中)谢谢@pXL,但我需要参考一下。我可以吗?@Joseph82,不,这个
不是指你循环中的选择。无论如何-为什么需要引用此?因为我的代码在$(“选择”)中。在('click',function(){…})上;所以我需要精确地引用我点击的选择。@Joseph82,好吧,如果是这样的话,是的,你可以这样做-->
谢谢@pXL,但我需要引用这个。我可以吗?@Joseph82,不,这个
不是指你循环中的选择。无论如何-为什么需要引用此?因为我的代码在$(“选择”)中。在('click',function(){…})上;所以我需要精确地引用我点击的选择。@Joseph82,好吧,如果是这样的话,是的,你可以这样做-->