2014-01-29 64 views
-1

我有以下函數調用:爲什麼我的JavaScript參數未定義?

var id = $(this).attr("id"); 
    var style = $.trim($(this).find(".tdStyle").html()); 
    var qtyOnHand = $.trim($(this).find(".tdQtyOnHand").html()); 
    var PlantID = $.trim($(this).find(".tdPlantID").html()); 
    var Size = $.trim($(this).find(".tdSize").html()); 

    dialogOpen(id, style, qtyOnHand, $(this), Size); 

我試圖通過各種元素搶奪值多值傳遞到我的dialogOpen功能。除了最後一個_Size外,下面顯示的dialogOpen函數中的每個值都能正常工作。我測試_size的價值之前,我有以下到dialogOpen:

var _Size = ($.trim($(this).find(".tdSize").html())); 
console.log(_Size); 

的console.log顯示2.378

這裏是我的代碼爲我的功能開始在那裏我得到的未定義(上XSIZE) :

function dialogOpen(ID, style, QtyOnHand, row, PlantID, xSize) 
{ 
debugger; 
console.log(xSize); 
$('#dialogForm').dialog({ 
title: 'Enter Quantity', 
height: 200, 
+1

我想每個裝飾語句設置爲變量,然後控制檯登錄所有的人,以確保你得到你所期望的,然後在知道值正確時將變量傳遞給dialogOpen()調用。太亂的調用內部的剪裁,你永遠不知道問題出在哪裏。另外,我不會用_開始變量,這可能會導致問題。 – rncrtr

+0

我會嘗試並報告回來。我只用_作爲測試來設置變量,以確保沒有範圍問題。謝謝。 –

+0

in dialoadOpen方法可以檢查'console.log(參數)' –

回答

1

有六個參數,只有5呼叫值。

對於第二個到最後一個值,您已經放置了括號錯誤,所以最後兩個值在它們之間帶有逗號運算符的括號內。

您有:

​​

但你應該有:

$.trim($(this).find(".tdPlantID").html()), _Size 
+0

哇。我不敢相信我做到了。感謝Guffa。 –

2

您只發送5個參數。可能只是一個錯誤。更改此:

dialogOpen($(this).attr("id"), $.trim($(this).find(".tdStyle").html()), $.trim($(this).find(".tdQtyOnHand").html()), $(this), $.trim($(this).find(".tdPlantID").html(), _Size)); 

要這樣:

dialogOpen($(this).attr("id"), $.trim($(this).find(".tdStyle").html()), $.trim($(this).find(".tdQtyOnHand").html()), $(this), $.trim($(this).find(".tdPlantID").html()), _Size); 
相關問題