代码之家  ›  专栏  ›  技术社区  ›  namtax

jquery:从两个元素连接值

  •  9
  • namtax  · 技术社区  · 14 年前

    Bit-Stack尝试在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获取这些categories的内容,这样当您单击编辑时,Category表单字段将预先填充该注释的现有标记….

    $('.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”…我猜。这里需要每个函数,但在如何实现上有点停留

    多谢

    2 回复  |  直到 14 年前
        1
  •  25
  •   user113716    14 年前

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

    var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').map(function() {
      return $(this).text();
    }).get().join(' ');
    
        2
  •  1
  •   naugtur    14 年前

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

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