我想这样做,以便当用户双击表中的一行时,它将检查两个变量($row["CustomerRequestID"]
和$row["JobID"])
然后,如果JobID等于null,则打开一个新窗户。这就是我到目前为止所拥有的
echo '<tr ondblclick="workStatusDoubleClick(\''.str_replace("'", "\\'", $row["CustomerRequestID"]).'\', \''.str_replace("'", "\\'", $row["JobID"]).'\')" >';
function workStatusDoubleClick(value,jobID) {
if (jobID == "") {
window.open("quoteRecord.php?quoteID="+value, "_blank", "toolbar=0, location=0, menubar=0, width=900, height=700, scrollbars=yes" );
}
}
但它似乎不起作用。我做错了什么?
答案 0 :(得分:0)
试试这个(避免复杂的鳕鱼):
<?php
$val1 = str_replace("'", "\\'", $row["JobID"]);
$val2 = str_replace("'", "\\'", $row["CustomerRequestID"]);
?>
<tr ondblclick="workStatusDoubleClick('<?php echo $val1;?>', '<?php echo $val2;?>');">
<script>
function workStatusDoubleClick(value,jobID)
{
if (jobID == "")
{
window.open("quoteRecord.php?quoteID="+value, "_blank", "toolbar=0, location=0, menubar=0, width=900, height=700, scrollbars=yes" );
}
}
</script>
答案 1 :(得分:0)
我假设您收到了JavaScript错误,最好的调试方法是查看PHP生成的内容
为你的tr分配一个id,例如:
<tr id="mytr" ..... >
在JavaScript中添加以下行:
alert(document.getElementById("mytr").parentNode.innerHTML);
警报会显示生成的输出是什么,它可能会帮助您进一步了解。
答案 2 :(得分:0)
将附加参数添加到“tr”的属性
例如
<tr CustomerRequestID="number1" JobID="number2" id="trnumber3">....</tr>
$("trnumber3").click(function()
{
if ($(this).attr("CustomerRequestID")==... or $(this).attr("JobID")==..)
doSomething();
});