我在jsonObjects[i].type
中使用名为menu
的{{1}}填充/插入div
。我从菜单中的#changetotypes
获取了值r
,c
和e
,知道我希望能够点击值jsonObjects[i].type
,{{1} }和r
并将值更改为单击的值。知道我可以点击一个对象,它显示的值为c
,e
或r
。
因此,如果我单击某个对象,它会在对象所具有的菜单中显示/显示值c
e
,jsonObjects[i].type
或r
。知道如何将点击的对象值示例从c
更改为e
?
r
答案 0 :(得分:0)
您需要为每个#changetotypes子项添加一个click事件侦听器,然后更改该子项的内部html。
您可能需要为每个孩子提供一个id,以了解如何获取每个孩子的参考。
希望它有所帮助。
答案 1 :(得分:0)
您可以尝试以下(jsFiddle)之类的内容。假设jsonObjects来自其他地方。
function populateTypes() {
var availableTypes = [];
for(var i = 0; i < jsonObjects.length; i++) {
if(availableTypes.indexOf(jsonObjects[i].type) < 0) {
availableTypes.push(jsonObjects[i].type);
$('<li><a href="#">' + jsonObjects[i].type + '</a></li>')
.data('type', jsonObjects[i].type)
.on('click', function(){ $('#currenttype').text($(this).data('type')); })
.appendTo('#changetotypes');
}
}
}
这时我们创建&lt; li /&gt;对于特定类型的元素,我们在更改currenttype元素的文本的同时添加单击处理程序。
我们将要更改currenttype的类型存储在&lt; li /&gt;的数据中。因此我们不必担心closures in the loop,但还有其他方法可以解决这个问题,比如创建一个返回函数的函数(请参阅链接)或使用&lt; a /的内容&GT; element(如$('a',$(this))。text())。