【发布时间】:2014-07-06 17:19:13
【问题描述】:
我是 jQuery 新手,正在尝试动态创建 jQuery UI 按钮并将它们添加到列表中。我可以创建一个列表项,但在它之后不再追加。我做错了什么?
$('#buttonList').append('<li><button>'+ username + '</button>')
.button()
.data('type', userType)
.click(function(e) { alert($(this).data('type')); })
.append('<button>Edit</button></li>');
<div>
<ul id="buttonList">
</ul>
</div>
这只会创建一个带有两个按钮的列表项(虽然第二个按钮似乎包含在第一个按钮中,但我可能可以解决这个问题)。如何让它创建具有自己独特的“数据”值的多个列表项(即我不能在特定按钮类上执行find() 并为其提供数据值,因为所有按钮都将具有相同的数据)?
【问题讨论】:
-
是整个代码还是sn-p?用户名/用户类型变量从何而来?
-
抱歉,这不是整个脚本,因为还有其他代码部分,我不确定它们是否相关。变量存在并且工作正常,只是只创建了一个列表项。
-
好吧,您只执行该代码一次。您需要遍历您的用户名/用户类型列表并多次调用您拥有的代码(每个用户名/用户类型集一次)。我不知道您是否已经尝试这样做,因为这是部分代码。
-
此代码位于一个函数中,当单击另一个按钮时会调用该函数。如果我添加一个警报,它每次都会显示,所以我确信每次单击按钮时代码都会运行。
-
这可能更符合您希望实现的目标。请注意我是如何从内部开始并制定出jsfiddle.net/ZT7bp
标签: javascript jquery html jquery-ui