获取一个javascript函数,它需要2个php变量作为参数才能工作

时间:2014-01-28 11:03:15

标签: javascript

我想这样做,以便当用户双击表中的一行时,它将检查两个变量($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" );
  }
}

但它似乎不起作用。我做错了什么?

3 个答案:

答案 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();
});
相关问题