禁用行表中的按钮

时间:2013-08-30 08:18:25

标签: php jquery css javascript

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

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

Preview

该表中的所有值都来自数据库。所以我想要做的是,当NAME值为空时,将根据其行表禁用发送按钮。

4 个答案:

答案 0 :(得分:1)

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

这样的东西
<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>
<? }  ?>

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

你可以尝试这个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>