禁用行表中的按钮

Disable button in a row table

本文关键字:按钮      更新时间:2023-09-26

我有一个表,每行都有一个发送按钮:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Address</th>
            <th>Button</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td id="name"></td>
            <td>20</td>
            <td>Street AA</td>
            <td><a name="sendName" id="sendId" href="www.google.com">Send</a>
            </td>
        </tr>
        <tr>
            <td>Mr.XX</td>
            <td>20</td>
            <td>Street XX</td>
            <td><a name="sendName" id="sendId" href="www.google.com">Send</a>
            </td>
        </tr>
        <tr>
            <td>Mr.YY</td>
            <td>20</td>
            <td>Street YY</td>
            <td><a name="sendName" id="sendId" href="www.google.com">Send</a>
            </td>
        </tr>
    </tbody>
</table>

预览

那个表中的所有值我都是从数据库中得到的。所以我想做的是,当NAME值为空时,发送按钮将根据其行表被禁用。

由于您没有输入值,我不太明白为什么要在这样的任务中使用javascript。如果该值为空,则根本不显示链接。或者删除href属性,添加一个css类,并将链接设置为不同的样式。

//disabled link
<a name="sendName" id="sendId">Send</a>

我不知道这是否是一个复制/粘贴错误,但您在所有链接上使用相同的ID sendID

如果数据库返回一个空名称,而不是在之后将其删除,那么您真的不需要将按钮放在那里。类似的东西

<a name="sendName" id="<? echo "id".&name; ?>" 
<? if (&name!="") echo 'href="#"'; ?>>Send</a>

<? if (&name=="") { ?>
  <span>Send</span>
<? } else { ?>
  <a name="sendName" id="<? echo "id".&name"; ?>" href="#">Send</a>
<? }  ?>

在发送链接上尝试以下示例代码:

<?php if($row['NAME']==''){ echo 'Send' } else{?> <a name="sendName" id="sendId" href="www.google.com">Send</a> <?php }?>

您可以尝试这个jquery代码,因为您需要包含jquery库

<script>
$(document).ready(function(e){
    var objTR = $("table tr");
    for(var i = 0; i < objTR.length; i++)
    {
        var objCols = $(objTR[i]).children();
        var name = objCols[0].innerHTML;
        if(name == "")
            $(objCols[3]).find("a").removeAttr("href");
    }
});
</script>