如果数据库值为NULL,则jQuery隐藏HTML标记

时间:2012-07-16 05:46:33

标签: php jquery dreamweaver

我使用Dreamweaver的内置PHP功能来构建一个小应用程序。我正在以重复的ul,li结构检索数据,看起来像这样。

  • 客户名称
  • 职位描述
  • 完成年度

客户名称和作业描述将始终具有值,完成年份可能具有空值。如果完成年份为空值,则不应显示“li”。

我试图用jQuery做这个,但对我来说看起来很复杂。我能用PHP实现吗?

2 个答案:

答案 0 :(得分:0)

$array = array('client_name'=>'John', 'job_descr'=>'Programming', 'year'=>null);

foreach ($array as $data) {
    echo '<ul>';
    ($data['client_name']!=null)?echo '<li>'.$data['client_name'].'</li>':echo '';
    ($data['job_descr']!=null)?echo '<li>'.$data['job_descr'].'</li>':echo '';
    ($data['year']!=null)?echo '<li>'.$data['year'].'</li>':echo '';
    echo '<ul>';
}

如果我理解正确,这就是你需要的。

答案 1 :(得分:0)

用PHP做这将是合乎逻辑的方式 - 你必须向我们展示PHP源代码来帮助你 - 它只需要一个if语句检查null并且如果它是真的则不回显该列表..但是回答你的jquery问题..如果你的输出是这样的:

<ul id="this_is_the_list">
    <li>
        <ul>
            <li>Client name value</li>
            <li>Job desc value</li>
            <li>This isnt null</li>
        </ul>
    </li>
    <li>
        <ul>
            <li>Another name value</li>
            <li>Another Job desc value - this one will be null</li>
            <li></li>
        </ul>
    </li>
</ul>​

你的jquery将是:

$(document).ready(function() {
        //for each additional list within the target list
        //which has a 3rd li (i would suggest giving this a
        //class instead to better target it).
        $('#this_is_the_list li li:nth-child(3)').each(function() {
            if($(this).text().length < 1) { //if its empty
                 $(this).parents('#this_is_the_list > li').remove(); //remove its parent list item
            }
        });
    });​

在此处演示:http://jsfiddle.net/QxcLS/