为什么我的javascript参数没有定义?
我有以下函数调用:为什么我的javascript参数没有定义?,javascript,jquery,Javascript,Jquery,我有以下函数调用: 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($(
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函数中,每个值都可以正常工作,如下所示,但最后一个值除外。在使用以下命令打开dialogOpen之前,我测试了_Size的值:
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,
您只发送了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);
调用中有六个参数,只有五个值 第二个到最后一个值的括号放错了,因此最后两个值位于括号内,中间有逗号运算符 你有:
$.trim($(this).find(".tdPlantID").html(), _Size)
但你应该:
$.trim($(this).find(".tdPlantID").html()), _Size
我会将每个trim语句设置为variable,然后控制台记录所有语句,以确保您得到了预期的结果,然后在知道值正确后将变量传递到dialogOpen调用中。电话里的装饰太乱了,你永远不会知道问题出在哪里。另外,我不会以x开头变量,它可能会导致问题。我会尝试一下,然后再报告。我只将带有u的变量设置为测试,以确保没有范围问题。谢谢。在dialoadOpen方法中,您可以检查console.LogArgumentsAll吗?那么,tdSize是多少?输入?桌上的房间?不是所有的元素都使用.html,有些是.text或.val。如果在记录变量后定义并设置该变量,则会得到未定义的变量,而不是意外的标识符。希望能有帮助。我不敢相信我做了那件事。谢谢,古芙。