我想知道,如何在jquery事件上动态更改json属性的值,然后将其加载到浏览器中。这是json的样本。
var spiderman = {
"fname" : "Peter",
"lname" : "Parker",
"nick" : "Spidey"
}
这是事件,假设......点击事件
HTML代码
Input a new nickname:<br />
<input type="text" id="newNick" />
<div id="pressMe">Press Me!</div>
<div id="output"></div>
jQuery事件
$("#pressMe").click(function(){
var newNick = $("#newNick").val();
/* please place the correct code here */
$("#output").text("Spiderman's new nick is " + spiderman.nick);
})
目标是: 用户输入新的昵称。当用户点击 #pressMe 时,它会获得 #newNick 的值并将其放在json中以更改“nick”属性。之后......它将在 #output 上显示新的“缺口”属性。
我希望它不会混淆。谢谢!
答案 0 :(得分:3)
这应该可以正常工作:
spiderman.nick = newNick;
请记住,如果JSON来自AJAX请求并且您使用jQuery(或eval
)加载它,那么可以在我写入时访问对象属性(即使您在查看原始响应时看到它们也会被引用) )。如果您在内存中定义了JSON,那么您不需要在属性名称上使用引号,而是应该写:
var spiderman = {
fname : "Peter",
lname : "Parker",
nick : "Spidey"
}
答案 1 :(得分:1)
答案 2 :(得分:1)
我确定你忽略了这一点,但这应该有效:
$("#pressMe").click(function(){
var newNick = $("#newNick").val();
spiderman.nick = newNick;
$("#output").text("Spiderman's new nick is " + spiderman.nick);
});