0

ページの読み込み時にテーブルの行の値を確認したい。

表の例:

名前 || ステータス || セットする

ジョン|| パス|| [](チェックボックス)

クリス|| 失敗|| [](チェックボックス)

ステータスが「失敗」の場合、チェックボックスを無効にします。

今私はこのjQueryを使用しています:

<script>
$(document).ready(function() {  

    if(getElementsByClassName('paket_ava').value=='kosong'))
    {  
        document.getElementById("checkboxx").disabled=true;
    } 
});
</script>

これは私のPHPテーブルコードです

<tr>
    <td><?php echo $paket['id_paket'];?></td>                                   
    <td><?php echo $paket['nama_paket'];?></td>     
    <td><?php echo $paket['keterangan_paket'];?></td>
    <td><?php echo $paket['harga'];?></td>
    <td><img src='<?php echo $paket['gambar_paket']?>' width='120' height='120'></td>
    <td  class="paket_ava"><?php echo $paket['ketersediaan_paket'];?></td>
    // class on the table data
    <td><?php echo $paket['status_harian_paket'];?></td>
    <td><input type="checkbox" name="chkDel[]" id="checkboxx" class="aku" value="<?=$paket["id_paket"];?>"></td>
    <?php
         echo ("<td><a href='edit_data_paket.php?id_paket=$paket[id_paket]'>Edit</a></td>");        
    ?>
</tr>

上記のコードは機能していませんが、次のように変更すると次のようになります。

if(getElementsByClassId('paket_ava').value=='kosong')) 
        {  
            document.getElementById("checkboxx").disabled=true;
        } 

(もちろん、テーブルのクラスをIdに変更します)

ページが奇妙な動作をロードし、最初のデータのチェックボックスが無効になると。

これを正しく行う方法は?

4

2 に答える 2

1

以下のように試してください....それはあなたを助けます...

フィドルの例: http: //jsfiddle.net/68wbx/126/

HTMLテーブルが次のようになっているとします。

HTML:

<table id="datapaket" border="1">
    <tr>
        <th>Name</th><th>Status</th><th>Set</th>
    </tr>
    <tr>
        <td>John</td><td class="paket_ava">Pass</td>
        <td><input type="checkbox" name="chkDel[]" id="checkboxx" class="aku" value='sam'/></td>
     </tr>
    <tr>
        <td>Chris</td>
        <td class="paket_ava">Fail</td>
        <td><input type="checkbox" name="chkDel[]" id="checkboxx" class="aku" value='sam'/></td>
      </tr>
</table>

以下のJqueryを試してください:

$(document).ready(function() {      
    $('#datapaket tr').each(function() {    //Looping Every Table Row
      //Get the TD Value that have Classname ".paket_ava"
      var str = $(this).find('.paket_ava').html(); 
      if(typeof str !== 'undefined'){
        if (str.indexOf("Fail") >= 0)
        $(this).find('td:nth-child(3) input:checkbox').attr("disabled", true);
      };
    });
});
于 2013-02-22T12:41:59.113 に答える
0

クラス'paket_ava'を持つ各要素をトラバースし、その中で作業を行います。お気に入り

 $('.paket_ava').each(function(i, obj) {
// your stuff...
});

参照:同じクラスの要素をループするjQuery

于 2013-02-22T11:55:17.750 に答える