2011-03-16 61 views
0

内从表中第一项TD我有这样的jQuery代码:jQuery的选择李

<script> 
    $(function() { 

     $("#sortable").sortable({ 

      stop: function(event, ui) { 
       var data = ""; 

       $("#sortable li").each(function(i, el) { 
         var p = $(el).text().toLowerCase().replace(" ", "_"); 
         data += p + ","; 
       }); 
       alert(data); 

       $("form [name='new_order']").val(data); 

     } 

     }); 

     $("#sortable").disableSelection(); 

    }); 

</script> 

的代码创建一个排序列表。我想在度假村结束后捕捉可排序列表的排序顺序。李的用PHP动态生成的,看起来像:

echo '<li class="ui-state-default">'; 



echo '<table border="1" cellpadding="5" cellspacing="0" class="text2" align="center">'; 
echo '<tr>'; 
echo '<td align="right" width="10">' . ($counter+1) . '</td>'; 
echo '<td width="100"><img src="'.$thisimage['url'].'" alt="'. $thisimage['title'] .'" height="100" width="100" /><br />' . $thisimage['title'] . '</td>'; 
echo '</tr>'; 
echo '</table>'; 

echo '<input name="draglist_items['.$thisimage['image_no'].']" value="'.$counter++.'" type="hidden" />'; 



echo '</li>'; 

目前,我的“数据”变量包含类似的输出:1blablabla,2blablabla

我只希望在每个L1第一个TD元素的值。任何想法我可能用什么选择器代替:$(el)得到这个?基本上我想1,2,...

回答

3

不知道我理解的问题(请用jsbin.com来发表您的完整的代码),但在这里它是(也更短,更清晰的代码):

 $("#sortable li").find('td:first').each(function() { 
     data += $(this).text() + ","; 
    }); 
+0

这种作品,但根据我移动的列表项,数据变成只有“3”或“1”。 el.text()返回1blablabla,其中1个来自第一个TD,blablabla来自第二个TD。我正在寻找一种方法来提取第一个TD中的值。 – 2011-03-16 17:58:41

+0

我的错误,更正:) – AlfaTeK 2011-03-16 18:02:59

+0

太棒了!我看到你在哪里纠正你的错误,这完美的作品!谢谢! – 2011-03-16 18:05:14

1
$('#sortable li').each(function() { 
    alert($(this).children('td:first').val()); 
});