テーブルの行を押すと、アイテムに関するいくつかの詳細が開くと思われるショッピングカートのようなものを作成します。この目的のために、高さ0で、最初は詳細を含む非表示のdivを使用しました。問題は行が押されたかどうかに関係なく、ブラウザは情報ページをロードすると思います。彼のDIVが表示されている場合にのみブラウザにページをロードさせる方法はありますか?
$int = 0;
echo "<table class=\"result_table\" id=\"result_table\">";
foreach($types as $data){
echo "<tr onClick=\"present(".$int.");\" >";
echo "<td align=\"right\">";
echo $data['number'];
echo "</td>";
echo "<td align=\"right\">";
echo $data['item_name'];
echo "</td>";
echo "<td align=\"right\">";
echo $data['amount'];
echo "</td>";
echo "<td align=\"right\">";
echo "17";
echo "</td></tr>";
echo "<tr class=\"info_row\"><td colspan=\"4\"><div id=\"div_num_".$int."\" style=\"height:0px\">
<object type=\"text/html\" data=\"page.php\" style=\"width:100%; height:100%; margin:0%;\">
</div></td></tr>";
$int++;
}
echo "</form></table>";
行の CSS
.info_row{
visibility:hidden;
}
JS:
function present(item_id){
var div = document.getElementById("div_num_"+item_id);
if(div.style.visibility=="visible"){
div.style.visibility = 'hidden';
div.style.height= '0';
} else {
div.style.visibility = 'visible';
div.style.height= "200px";
}
}
すべての情報がページに読み込まれますが、表示されないことがわかります。この問題に取り組む他の良い方法は、特にjqueryが含まれていない場合に適用されます。私はjqueryがあまり得意ではないからです。
前もって感謝します。