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

選択可能なプラグインは、選択した要素にクラスを追加するui-selectedため、次のようになります。

$('.ui-selected')

選択したすべての要素が表示されます。.tdItem以下を使用して他に選択可能なものがある場合は、自分のものに制限してください。

$('.tdItem.ui-selected')

選択が変更されるたびに何かを実行したい場合は、オプションselectedまたはstopコールバックを.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 に答える
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 に答える