0

データテーブルの列のドロップダウンで選択した要素の値を取得しようとしています。以下は私のコードです:

function getstate(item) {
    var rows = $("#content_objects_table").dataTable().fnGetNodes();

    for(var i=0;i<rows.length;i++)
    {
         // Get HTML of 3rd column (for example)
        console.log("item:"+item+" id:"+$(rows[i]).find("td:eq(1)").html());
        if($(rows[i]).find("td:eq(1)").html()==item){
            console.log($(rows[i]).find("td:eq(4)").div.select.data-state);
            return ($(rows[i]).find("td:eq(4)").html());
        }   
    }
};

これまでのところ、ドロップダウンを持つ列の値を取得できました。だから私は以下のようなdivを取得しています:

<div class="selectorContainer assemblyCompleted" style="padding-left: 15px;">
    <select class="states" style="width: 150px;" data-objectid="Scorm123" data-state="ready-for-publishing">
        <option value="ready-for-publishing">Ready for Publishing</option>
        <option value="published">Published</option>
        <option value="rework">Rework</option>
    </select>
</div>

データ状態の値である選択されたオプションの値を取得する方法。つまり、ここではデータ状態は「公開準備完了」であり、それに対応する値は公開準備完了です。

4

1 に答える 1

0

これを試して

/* cache row so don't keep creating new object*/
var $row=$(rows[i]);

if($row.find("td:eq(1)").html()==item){
       var state=$row.find("td:eq(4) select.states").data('state');
       var optionText=$row.find('option[value="'+state+'"]').text();

} 
于 2013-04-23T11:39:44.593 に答える