从选定的td中获取价值

时间:2012-09-25 16:31:14

标签: javascript jquery html jsp jquery-ui-selectable

目前我有一个可选择的表格,我可以拖动并在列中选择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 个答案:

答案 0 :(得分:0)

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

如果是,那就明白了 试试这个

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

$.each($td , function(i){
     if( $(this).hasClass('tdItem'){
        console.log($(this).text())
     }
});
​

答案 1 :(得分:0)

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

或者,留在jQuery中,您可以使用$(selector).text()来做同样的事情。像$(".question-hyperlink").text()这样的东西完全一样。

答案 2 :(得分:0)

得到每个TR的TD

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

});

答案 3 :(得分:0)

可选插件将类ui-selected添加到任何选定元素,只需:

$('.ui-selected')

将为您提供所有选定的元素。如果您有其他可选择的内容,请使用以下地址限制.tdItem

$('.tdItem.ui-selected')

如果您想在每次选择更改时执行某些操作,则可以使用the selected or stop callback in the .selectable({...}) options。把它们放在一起给了我们类似的东西:

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

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

See jsfiddle demo here