有点卡住尝试在Jquery中实现某些目标,想知道是否有人可以提供帮助。
我正在创建自己的就地编辑功能,在其中单击编辑按钮,然后将我的定义列表的内容交换为表单...预填充了数据。类似于this
除了每个可编辑部分(用户注释)都被标记之外,一切都很好,并且可以有多个标签,就像这里的stackoverflow ...所以我为每个注释输出标签的HTML都是这样
<dl id='comment_id'>
<dt class="comment title">#i.getsTitle()#</a></dt>
// Other info
<dd class="categories">
<dl>
<dt>Tags:</dt>
<cfloop array="#i.getCategory()#" index="ii">
<dd class="category"><a href="">#ii.getsCategory()#</a></dd>
</cfloop>
</dl>
</dd>
所以我将类别或标签嵌套在定义列表中,并由循环控制。
到目前为止,我一直在尝试使用Jquery来获取这些类别的内容,以便在单击进行编辑时,类别表单字段将被该注释的现有标签预先填充...。
$('.edit').click(function(){
// Grab the text for all categories
var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').text();
//Build a form and prefill the category form field with the sCategory Variable
form + '' // Other Data to build form
form += '<dl><input name="sCategory" type="text" value="' + sCategory + '" /></dl>'
// Show edit form prefilled with appropriate content
$('dl#comment_id).(form);
这可行,但是它显示该条目的所有类别并排显示,没有空格..例如“ JqueryColdfusionValidation”。想知道如何将其显示为“ JqueryColdfusionValidation”...。我猜这里需要.each函数,但是在实现方面有些卡住
非常感谢
最佳答案
Map()对这种事情有好处。尝试这个:
var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').map(function() {
return $(this).text();
}).get().join(' ');