2014-01-28 38 views
0

我想讓它使得當用戶雙擊表中的一行時,它將檢查兩個變量($row["CustomerRequestID"]$row["JobID"]),然後,如果JobID相等爲空,打開一個新窗口。這是我到目前爲止獲取一個需要2個php變量作爲參數的javascript函數才能正常工作

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"); 
    } 
} 

但它似乎沒有工作。我究竟做錯了什麼?

+1

聲明瞭函數'workStatusDoubleClick'作爲PHP函數,你要訪問它的Javascript碼。這是錯誤。 – kushpf

回答

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> 
0

我假設你得到一個JavaScript錯誤,調試最好的辦法就是看是由PHP

產生什麼你TR分配一個ID如:

<tr id="mytr" ..... > 

在JavaScript中添加以下行:

alert(document.getElementById("mytr").parentNode.innerHTML); 

該警報將告訴您什麼是生成的輸出,它可能會幫助您進一步瞭解。

0

把額外的參數「TR」的屬性

例如

<tr CustomerRequestID="number1" JobID="number2" id="trnumber3">....</tr> 

$("trnumber3").click(function() 
{ 
    if ($(this).attr("CustomerRequestID")==... or $(this).attr("JobID")==..) 
      doSomething(); 
}); 
相關問題