0

目前我有一个可选择的表格,我可以在列中拖动和选择 tds。但是我想从每个 td 单元格中获取所有值。我该怎么做呢?我试过 .each() 但它仍然不起作用

<style type="text/css">
.ui-selecting { background: #FECA40; }
.ui-selected { background: #F39814; }
</style>

<script>
    $(function() {
    $("table").selectable({
        filter: ".tdItem"
    });
});
</script>
</head>     

<body>


<table width="100%" border="1">
<%
    for(String t: time){
        out.println("<tr>");
        int i=0;
        for(String room: rooms){
            out.println("<td class='tdItem' align='center'>");
            out.println(room+" "+t);
            out.println("</td>");
            i++;
        }
        out.println("</tr>");
    }
%>

4

4 回答 4

0

您可以遍历文档中的所有 td 并检查是否有选定的类..

如果是,那就试试这个

var $td = $('tr td');

$.each($td , function(i){
     if( $(this).hasClass('tdItem'){
        console.log($(this).text())
     }
});
​
于 2012-09-25T16:35:31.810 回答
0

您可以使用 element.innerText 来获取任何 HTML 元素的文本内容。例如,在此页面上,您可以使用$(".question-hyperlink")[0].innerText来获取问题文本。$(selector)[0] 是一个普通的旧 HTML 元素。

或者,留在 jQuery 中,您可以使用$(selector).text()它来做同样的事情。类似的东西的$(".question-hyperlink").text()工作方式完全相同。

于 2012-09-25T16:36:12.923 回答
0

获取每个 TR 的 TD

$('table tr').each( function(i){
     $('td',this).each(function(){
           console.log($(this).text())
    });

});
于 2012-09-25T16:38:10.513 回答
0

可选择的插件将类添加ui-selected到任何选定的元素,所以很简单:

$('.ui-selected')

将为您提供所有选定的元素。.tdItem如果您有其他可选择的东西,请使用以下方法限制您的 s:

$('.tdItem.ui-selected')

如果你想在每次选择改变时做一些事情,那么你可以在options中使用selectedorstop回调.selectable({...})。把它们放在一起会给我们一些类似的东西:

function afterSelectionChanged(event, ui){    
    var $selectedElements = $('.tdItem.ui-selected');
    // Do something with the selected elements
}

$("table").selectable({
    filter:'.tdItem',
    stop: afterSelectionChanged 
});

请参阅此处的 jsfiddle 演示

于 2012-09-25T18:42:54.473 回答