0

私はjQueryを学んでおり、次のコードを持っています:

 echo "<table border=1>                 
    <tr><th class='col1'>Mã Sinh Viên <a href='javascript:void(0)' data-page='$page' data-field='stuId' data-sort='$sort' data-key='$key'><img src='downArrow.gif'></a></th>
        <th class='col2'>Họ tên <a href='javascript:void(0)' data-page='$page' data-field='stuName' data-sort='$sort' data-key='$key'><img src='downArrow.gif'></a></th>
        <th class='col3'>Ngày sinh  <a href='javascript:void(0)' data-page='$page' data-field='stuDoB' data-sort='$sort' data-key='$key'><img src='downArrow.gif'></a></th>
        <th class='col4'>Giới tính <a href='javascript:void(0)' data-page='$page' data-field='stuSex' data-sort='$sort' data-key='$key'><img src='downArrow.gif'></a></th>
        <th class='col5'>Địa chỉ <a href='javascript:void(0)' data-page='$page' data-field='stuAdd' data-sort='$sort' data-key='$key'><img src='downArrow.gif'></a></th>
    </tr>
";

そしていくつかのスクリプト:

$("#mainTable th a").click(function()   {
    var clicked= $(this);
    var page= clicked.data("page");
    var field= clicked.data("field");
    var sort= clicked.data("sort");
    var key= clicked.data("key");
    if(sort== 'up') {
        sort= 'down';
        clicked.html("<img src='downArrow.gif'>");
        clicked.attr("data-sort",sort);
    }
    else    { 
        sort= 'up';
        clicked.html("<img src='upArrow.gif'>");
    }
    showPage(page,field,sort,key);
});

必要なのは、画像をクリックすると画像が変わることです。.clickイベントとセレクターを使用$(this)して、クリックされた要素を処理しました。しかし、写真をクリックしても同じです。

コードの何が問題になっていますか? 試しCTRL-ALT-jましたが、エラーはありません。私を助けてください。

4

3 に答える 3

1

属性clicked.data("sort",sort);を設定してみてくださいdata-sort

$("#mainTable th a").click( function () { 
    var clicked = $(this);
    var page = clicked.data("page");
    var field = clicked.data("field");
    var sort = clicked.data("sort");
    var key = clicked.data("key");

    if (sort == 'up') {
        sort = 'down';
        clicked.html("<img src='downArrow.gif'>");
    } else {
        sort = 'up';
        clicked.html("<img src='upArrow.gif'>");       
    }
   clicked.data("sort",sort);
});

作業サンプル

于 2013-03-17T15:48:52.353 に答える
0

jQueryでアンカーデータを選択してみてください:

$("#mainTable th a").click(function()   {
    var clicked= $(this);
    var page= clicked.attr("data-page");
    var field= clicked.attr("data-field");
    var sort= clicked.attr("data-sort");
    var key= clicked.attr("data-key");
    if(sort== 'up') {
        sort= 'down';
        clicked.html("<img src='downArrow.gif'/>");
        clicked.attr("data-sort",sort);
    }
    else    { 
        sort= 'up';
        clicked.html("<img src='upArrow.gif'/>");
    }
    showPage(page,field,sort,key);
});
于 2013-03-17T15:46:54.617 に答える
0

あなたのテーブルにはクラスがありません。

javascript-code では、クラスmainTableを持つテーブルを選択しますが、そのテーブルは存在しません...

于 2013-03-17T15:37:52.640 に答える