Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery如何获取表中动态创建的输入值?_Javascript_Jquery - Fatal编程技术网

Javascript JQuery如何获取表中动态创建的输入值?

Javascript JQuery如何获取表中动态创建的输入值?,javascript,jquery,Javascript,Jquery,我已经查看了linked in上的其他来源,但我仍然不确定在动态创建输入时如何找到输入的值。我正在创建一个电子商务商店项目,每当用户向购物车添加内容时,在购物车页面上,我都会显示每个购物车项目。然后,每个购物车项目都有一个数量输入框,以便用户可以根据需要更改数量(当他们按下“动态创建”按钮时)。代码如下: 我有一个foreach循环,确定需要显示多少项,然后从代码中选择一行: <tr><td> <input type=\"number\" class =\

我已经查看了linked in上的其他来源,但我仍然不确定在动态创建输入时如何找到输入的值。我正在创建一个电子商务商店项目,每当用户向购物车添加内容时,在购物车页面上,我都会显示每个购物车项目。然后,每个购物车项目都有一个数量输入框,以便用户可以根据需要更改数量(当他们按下“动态创建”按钮时)。代码如下:

我有一个foreach循环,确定需要显示多少项,然后从代码中选择一行:

     <tr><td> <input type=\"number\" class =\"cartQuant\" name=\"quantity\" 
     data-row-quant=" + row['itemid'] + " value="+ row['quantity']+"><a 
     data-role='button' data-theme='a'  data-row-id=" + row['itemid'] + " 
     data-row-num=  " + i + " href='#'>UPDATE</a></td></tr>"
以及它调用的函数:

      function clickHandler() {
             var row = $('#user_Cart tr').eq($(this).attr("data-row-num"));
             var quantity = row.find('#cartQuant').val();
      }

我认为上面的方法是先获取行,然后从该行中找到输入值。我得到一个未定义的数量值。

您的类选择器无效,您应该使用
而不是


是类选择器,
是id选择器。

您的类选择器无效,您应该使用
而不是


是一个类选择器,
#
是一个id选择器。

您可以简化代码:

在定位点上,单击获取最接近的tr,然后找到cartQuant并使用该值

此外,由于要动态添加新行,因此需要将事件委托给静态祖先(如文档):

$(文档)。在(“单击”上,“用户购物车a”,函数(e){
变量数量=$(this.closest('tr').find('.cartQuant').val();
控制台日志(数量);
})


您可以简化代码:

在定位点上,单击获取最接近的tr,然后找到cartQuant并使用该值

此外,由于要动态添加新行,因此需要将事件委托给静态祖先(如文档):

$(文档)。在(“单击”上,“用户购物车a”,函数(e){
变量数量=$(this.closest('tr').find('.cartQuant').val();
控制台日志(数量);
})


嘿,所以我把#cartQuant改成了。cartQuant,但我仍然没有定义。调试行时,该行值表示它正在存储数组。如何访问该数组的不同组件以获取输入值?这就是我的想法,因此我尝试执行第[0]行。查找('.cartQuant.va()'),但有人告诉我,在使用第[0]行时,查找不是函数。在数组中,正在存储对象。我需要能够访问对象和对象属性,比如输入值field@RW6您得到的不是数组,而是jQuery对象。您可以将代码简化为
函数clickHandler(){var quantity=$(this).sides(“.cartQuant”).val()}
嘿,所以我将#cartQuant改为.cartQuant,但我仍然没有定义。调试行时,该行值表示它正在存储数组。如何访问该数组的不同组件以获取输入值?这就是我的想法,因此我尝试执行第[0]行。查找('.cartQuant.va()'),但有人告诉我,在使用第[0]行时,查找不是函数。在数组中,正在存储对象。我需要能够访问对象和对象属性,比如输入值field@RW6您得到的不是数组,而是jQuery对象。您可以将代码简化为
函数clickHandler(){var quantity=$(this).sides(“.cartQuant”).val();}
嘿,我会这么做,但这基本上取决于用户更新的tr。如果用户想更新购物车中的第二项,我认为最接近的('tr')不起作用。我可以用其他可以找到被单击的确切表行的东西替换最近的('tr')吗?嘿,我可以这样做,但这基本上取决于用户更新哪个tr。如果用户想更新购物车中的第二项,我认为最接近的('tr')不起作用。我可以用其他可以找到被单击的确切表行的东西替换最近的('tr')吗?
      function clickHandler() {
             var row = $('#user_Cart tr').eq($(this).attr("data-row-num"));
             var quantity = row.find('#cartQuant').val();
      }
var quantity = row.find('.cartQuant').val();