小さなアプリケーションを構築するために、Dreamweaver の組み込みの PHP 機能を使用しています。このように繰り返されるul、li構造でデータを取得しています。
- クライアント名
- 仕事内容
- 竣工年
クライアント名と仕事の説明には常に値があり、完了年には null 値が含まれる場合があります。完成年に null 値がある場合、「li」は表示されません。
jQueryでこれをやろうとしていますが、複雑に見えます。PHPでこれを達成できますか?
小さなアプリケーションを構築するために、Dreamweaver の組み込みの PHP 機能を使用しています。このように繰り返されるul、li構造でデータを取得しています。
クライアント名と仕事の説明には常に値があり、完了年には null 値が含まれる場合があります。完成年に null 値がある場合、「li」は表示されません。
jQueryでこれをやろうとしていますが、複雑に見えます。PHPでこれを達成できますか?
$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>';
}
私の理解が正しければ、これはあなたが必要としているものです。
PHPでそれを行うのは論理的な方法です-それを支援するためにPHPソースを表示する必要があります-ifステートメントがnullをチェックし、trueの場合はそのリストをエコーしないだけです..しかし、あなたの答えに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/