在表格中,如果行的单元格值为" 未送达" ,然后我想隐藏完整的行。下表显示在.php页面
中原始代码:
<tr>
<td><?php echo $orderrecords[$k]["order_id"]; ?></td>
<td>
<?php
$url = 'https://plapi.ecomexpress.in/track_me/api/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
$output = curl_exec ($ch);
curl_close($ch);
$res = explode("\n",$output);
echo $res[13];
?>
</td>
</tr>
最初我尝试使用 CSS 作为Jsfiddle:
<tr>
<td><?php echo $orderrecords[$k]["order_id"]; ?></td>
<td>
<input type='text' value=
"<?php
$url = 'https://plapi.ecomexpress.in/track_me/api/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
$output = curl_exec ($ch);
curl_close($ch);
$res = explode("\n",$output);
echo $res[13];
?> "/>
</td>
</tr>
<style>
input[type='text'][value='Undelivered'] {
display: none;
}
</style>
我尝试使用 Javascript ,如下所示:
<tr>
<td><?php echo $orderrecords[$k]["order_id"]; ?></td>
<td class="sold">
<?php
$url = 'https://plapi.ecomexpress.in/track_me/api/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
$output = curl_exec ($ch);
curl_close($ch);
$res = explode("\n",$output);
echo $res[13];
?>
</td>
</tr>
<script>
$("td.sold").filter(function() {
return +$(this).text().trim() === 'Undelivered';
}).parent().hide();
</script>
最后我尝试使用 PHP ,如下所示,但我没有得到解决方案:
<tr class="<?= $res[13] == 'Undelivered' ? 'hidden' :'';?>">
<td><?php echo $orderrecords[$k]["order_id"]; ?></td>
<td>
<?php
$url = 'https://plapi.ecomexpress.in/track_me/api/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
$output = curl_exec ($ch);
curl_close($ch);
$res = explode("\n",$output);
echo $res[13];
?>
</td>
</tr>
请帮我找到解决方案......
答案 0 :(得分:1)
我不确定是否理解你的问题陈述,明确表示,你的意思是你有一张桌子:例如
<table>
<tr><td>Name</td><td>Surname</td><td>Age</td></tr>
<tr><td>John</td><td>Doe</td><td>33</td></tr>
<tr><td>Undelivered</td><td>Piper</td><td>Age</td></tr>
<tr><td>Yonna</td><td>Cheng</td><td>Age</td></tr>
</table>
&#13;
你想隐藏整行,如果有,并且像上面第三行中有数据的单元格?或者您想要隐藏输入文本框。
答案 1 :(得分:1)
虽然不清楚你的应用程序是如何工作的,但可能是因为省略了很多,如果上面的例子不是隐藏行,那么可能对你有用。
float
在您自己尝试<?php
$hide = '';
$url = 'https://plapi.ecomexpress.in/track_me/api/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
$output = curl_exec ($ch);
curl_close($ch);
$res = explode("\n",$output);
$status = $res[13];
if(strstr($status, "Undelivered") !== false)
{
$hide .= 'style="display: none;"';
}
?>
<tr <?php echo $hide;?>>
<td><?php echo $orderrecords[$k]["order_id"]; ?></td>
<td><?php echo $status;?></td>
</tr>
解决方案时,您尝试在PHP
存在之前检查其值。充其量,这将检查先前爆炸的价值。在您执行$res[13]
之前,您无法获得$res[13]
,因为在此之前它不存在。
已修改为$res = explode("\n",$output)
更改为=
,因为返回的值是完整的XML标记,而不仅仅是单词“Undelivered”
答案 2 :(得分:1)
正如我在评论中所说的那样,我真的不知道卷曲,也不知道你是如何得到你的“状态”价值的,但是你可以尝试这样的事情来测试状态值是否“未送达”在你之前开始构建你的行:
<table class="tbl-qa" border="1">
<thead>
<tr>
<th class="table-header">ID
</th>
<th class="table-header">ORDERID
</th>
<th class="table-header">Status
</th>
</tr>
</thead>
<tbody id="table-body">
<?php
$tabindex=1;
if(!empty($orderrecords))
{
foreach($orderrecords as $k=>$v)
{
$data['awb']='890927143';
$url = 'https://plapi.ecomexpress.in/';
$ch = curl_init(); // initiate curl
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true); // tell curl you want to post something
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // define what you want to post
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
$output = curl_exec ($ch); // execute
curl_close($ch);
$res = explode("\n",$output);
echo $res[13];
if($orderrecords[$k]["order_id"][$res[13]] !== "Undelivered") // BE SURE TO GET YOUR STATUS VALUE HERE + check if you need to use U or u, etc.
{
<- you build your row ->
}
} // end foreach
} // end if
?>
</thead>
</tbody>
</table>