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 回答