Jquery:从两个元素连接值

时间:2010-02-22 13:09:03

标签: jquery

有点卡住尝试在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获取这些catergories的内容,这样当您单击编辑时,类别表单字段将预先填充该注释的现有标记....

$('.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函数,但有点坚持如何实现

非常感谢

2 个答案:

答案 0 :(得分:25)

Map()对这类事情有好处。试试这个:

var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').map(function() {
  return $(this).text();
}).get().join(' ');

答案 1 :(得分:1)

添加任何内容的最简单方法:

var sCategory = '';
$(this).parents('dl').find('dd.categories dl dd.category').each(function(){
sCategory+=' '+$(this).text()+' ';
})