2014-01-29 7 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 функцию, захватывая значения из различных элементов. Каждое значение отлично работает в моей функции dialogOpen, показанной ниже, за исключением последней _Size. Я проверить значение _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

в методе dialoadOpen вы можете проверить 'console.log (arguments)' –

ответ

1

Есть шесть параметров, и только пять значений в вызове.

Вы поставили круглые скобки неправильно для второго к последнему значению, поэтому два последних значения находятся в скобках с помощью оператора запятой между ними.

У вас есть:

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

но вы должны иметь:

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

Ничего себе. Не могу поверить, что я это сделал. Спасибо, Гуффа. –

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); 
Смежные вопросы