jquery中选择下拉列表的变量文本标签
Variable text label for select dropdown in jquery
我有一个函数,它采用对象的JSON数组,其中每个对象都有一个id和一个文本字段标签(每个选择的变量),它填充选项。
我试图写的函数是:
function populateSelect(urlString, id, tag){
$.getJSON(urlString, function(data){
$.each(data, function(){
$(id).append($("<option></option>").text(this.tag).val(this.id));
});
});
}
因此,this.id
将始终为true,因为每个JSON obect都有一个关键字为"id"的属性。然而,this.tag
是我想要的变量,因为它可以为我正在构建的每种类型的JSON对象/选择而改变。
例如,我可以使用的两个有效JSON对象是:
[{id:'1', name:'John Doe'}, {id:2, name:'Jane Doe'}]
和
[{id:1, model:'Toyota'}, {id:2, model:'Honda'}]
这些JSON对象中的每一个都将用于填充相应<select>
元素的<option>
字段。因此,对于第一个JSON对象,如果这不是一个用于许多不同Select元素的函数,那么这一行将为:
$.(id).append($("<option></option>").text(this.name).val(this.id));
第二个JSON对象将有一行:
$.(id).append($("<option></option>").text(this.model).val(this.id));
抱歉,如果有任何行话不正确,我会加快JQuery的速度。
我想你想要的是:
$.each( data, function( key, value ) {
//get all the properties of the object
var keys = Object.keys(value);
var option = document.createElement('option');
option.value = value.id;
//use the second property as inner html
option.innerHTML = value[keys[1]];
$("#mySelect").append(option);
});
http://jsfiddle.net/e55kW/1/我更新了@jmm 的jsFiddle
@Yoeri指出您在$.()
中的拼写错误
这把小提琴是你想要的吗?
我刚刚创建了一个字符串,并将其附加到select元素中。
$.each( data, function( key, value ) {
var option = "<option value="+value.id +">"+ value.name + "</option>";
$("#mySelect").append(option);
});
发现(在回来并看到Yoeri的正确响应之前)这是有效的:
function populateSelect(urlString, id, tag){
$.getJSON(urlString, function(data){
$.each(data, function(){
$(id).append($("<option></option>").text(this[tag]).val(this.id));
});
});
}
与上面的不同之处在于,我将this.tag
更改为this[tag]
相关文章:
- 仅当变量有值时才显示D3文本标签
- 如何在 JavaScript 中更改文本标签的堆栈顺序
- 如何在javascript中使用svg文本标签
- 如何在D3中获得可缩放Icicle布局中文本标签的旋转
- 在d3.js中添加文本标签以强制定向图链接
- 章节文本标签没有't显示在D3.JS向下钻取饼图中
- 在每个条形图的中间添加文本标签&鼠标悬停事件
- 如何在HTML标签中获取javascript变量文本值
- x 轴文本标签未与 D3.js 中的条形对齐
- 在 D3.js折线图中使用 IMG 而不是文本标签
- 如何在使用谷歌浏览器开发者控制台时使变量在标签页中可见
- 如何将变量文本传递到 PHP 变量中
- 如何将attr(id)添加到特定值的<文本>标签-Js/Jquery
- 如何在 d3 中动态更新文本标签
- D3 强制布局与文本标签和图标
- 当节点太小时,如何在 d3 中隐藏文本标签
- 来自变量文本框的 Javascript
- 提交时传递的文本框中的文本标签
- 如何为一行文本输入字段添加用户可编辑的文本标签
- jquery中选择下拉列表的变量文本标签