Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
使用jQuery从PHP表单选择文本输入_Php_Javascript_Jquery_Html - Fatal编程技术网

使用jQuery从PHP表单选择文本输入

使用jQuery从PHP表单选择文本输入,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我有创建表的php代码。为采购订单上的每个项目创建并填充新行。目标是在编辑采购订单时将其发回并保存在数据库中。除了我的jQuery代码将只对第一行进行迭代,不管我有多少行。(因此,如果我有三行,它会将第一行cartid打印三次。) 如果事情看起来一团糟,很抱歉 PHP代码: <?php while($row = mysql_fetch_array($itemsquery)){?> <tr class="item-row" id="<?php echo $row

我有创建表的php代码。为采购订单上的每个项目创建并填充新行。目标是在编辑采购订单时将其发回并保存在数据库中。除了我的jQuery代码将只对第一行进行迭代,不管我有多少行。(因此,如果我有三行,它会将第一行cartid打印三次。)

如果事情看起来一团糟,很抱歉

PHP代码:

<?php while($row = mysql_fetch_array($itemsquery)){?>
      <tr class="item-row" id="<?php echo $row['cart_id']?>">
          <td class="item-name"><div class="delete-wpr"><textarea><?php echo $row['on0'];?> <?php echo $row['itemname'];?></textarea><a class="delete" href="javascript:;" title="Remove row">X</a></div></td>
          <td class="description"><textarea class="cartid"><?php echo $row['cart_id'];?></textarea></td>
          <td><textarea class="cost" class="text-input" type="text"><?php echo $row['itemprice'];?></textarea></td>
          <td><textarea class="qty" type="text" name="name"><?php echo $row['quantity'];?></textarea></td>
          <td><span class="price" type="text">$<?php 
        $linecost = $row['quantity'] * $row['itemprice'];
        echo $linecost;?></span></td>
      </tr>
    <?php }?>
您的
.cartid
选择器中有额外的
()

$(document).ready(function(){
$(".item-row").change(function() {
$(".cartid").each(function(){
    row = {
        cartid: $(".cartid").val()
        }  

 alert(row.cartid);
 performAjaxSubmission();
 })
});

另外,您是否应该通过
.item row
而不是
.cartid
进行循环?

您的迭代方式如下:

$(".cartid").each(function(){
row = {
    cartid: $(".cartid").val()
    }  
看来你应该这样做

$(".cartid").each(function(){
row = {
    cartid: $(this).val()
    }  
还没有检查代码的其余部分

编辑:

$(".cartid").each(function(){
var cart = $(this);
row = {
    cartid: cart.val()
    }  

看起来你只是把选择器搞混了。您希望遍历每一行,但选择器引用的是$(“.cartid”),它将始终返回有史以来的第一个结果

这将解决您的问题:

$(document).ready(function(){
$(".item-row").change(function() {
    $(".item-row").each(function(){
        var rowContext = $(this);
        var row = {
            cartid: $(".cartid", rowContext).val()
        }  
    alert(row.cartid);
    performAjaxSubmission();
});
});

在html的任何地方,我都看不到一个节点,它的类是“item row”@AndréAlçadaPadez-PHP代码的第2行。
$(document).ready(function(){
$(".item-row").change(function() {
    $(".item-row").each(function(){
        var rowContext = $(this);
        var row = {
            cartid: $(".cartid", rowContext).val()
        }  
    alert(row.cartid);
    performAjaxSubmission();
});
});