Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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_Html - Fatal编程技术网

Javascript jQuery更改行的值

Javascript jQuery更改行的值,javascript,jquery,html,Javascript,Jquery,Html,我有一张产品表。 我每行都有一个按钮。当我点击按钮时,我想通过为此行添加1来更改输入文本框的值。但它只适用于第一排。 下面是我的HTML和jQuery代码。 请帮帮我 <div class="row"> <p class="column">A Product Name</p> <p class="column"><input type="text" size=1 id="quantity" value="5"/> <

我有一张产品表。 我每行都有一个按钮。当我点击按钮时,我想通过为此行添加1来更改输入文本框的值。但它只适用于第一排。 下面是我的HTML和jQuery代码。 请帮帮我

<div class="row">
    <p class="column">A Product Name</p>
    <p class="column"><input type="text" size=1 id="quantity" value="5"/> <button onclick="$.updatequantity();">+</button></p>
    <p class="column" id="price">55 TL</p>
    <p class="column" id="total">275 TL</p>
</div>

<div class="row">
    <p class="column">Another Product Name</p>
    <p class="column"><input type="text" size=1 id="quantity" value="5"/> <button onclick="$.updatequantity();">+</button></p>
    <p class="column" id="price">25 TL</p>
    <p class="column" id="total">125 TL</p>
</div>



<script>
$.updatequantity = function(){
        var i=+$("#quantity").val();
        i +=1;
        $("#quantity").val(i);
        var price = $("#price").text();
        var result = price.replace(' TL','');
        var total = result * i;
        $("#total").html(total).show();
  }
</script>

产品名称

+

55 TL

275 TL

另一个产品名称

+

25 TL

125 TL

$.updatequantity=函数(){ 变量i=+$(“#数量”).val(); i+=1; $(“数量”).val(i); var价格=$(“#价格”).text(); var结果=价格。替换('TL',''); var总计=结果*i; $(“#total”).html(total.show(); }
如果您给每一行一个唯一的id,并将该id(当然是字符串)传递给onclick的调用,那么它应该可以正常工作。新的更新功能如下所示:

$.updatequantity = function(row_selector){
    var i= +$(row_selector).find('input').val();
    i +=1;
    $(row_selector).find('input').val(i);
    var price = $(row_selector).find('#price').text();
    var result = price.replace(' TL','');
    var total = result * i;
    $(row_selector).find('#total').html(total).show();
}

它也应该与“this”引用一起使用,但我对这种方法有点生疏。

如果您给每一行一个唯一的id,并将该id(当然是字符串)传递给onclick的调用,那么它应该按照您的预期工作。新的更新功能如下所示:

$.updatequantity = function(row_selector){
    var i= +$(row_selector).find('input').val();
    i +=1;
    $(row_selector).find('input').val(i);
    var price = $(row_selector).find('#price').text();
    var result = price.replace(' TL','');
    var total = result * i;
    $(row_selector).find('#total').html(total).show();
}

它还应该与“this”引用一起使用,但我对这种方法有点生疏。

如果使用onclick侦听器会更好。这是一个活生生的例子

$(.incre”)。在(“单击”,函数()上{
var quantity=$(this.parent().find(#quantity”);
var i=+quantity.val();
i+=1;
数量val(i);
var price=$(this.parent().parent().find(#price”).text();
var结果=价格。替换('TL','');
var总计=结果*i;
$(this.parent().parent().find(#total”).html(total.show();
});

产品名称

+

55 TL

275 TL

另一个产品名称

+

25 TL

125 TL


如果使用onclick监听器会更好。这是一个活生生的例子

$(.incre”)。在(“单击”,函数()上{
var quantity=$(this.parent().find(#quantity”);
var i=+quantity.val();
i+=1;
数量val(i);
var price=$(this.parent().parent().find(#price”).text();
var结果=价格。替换('TL','');
var总计=结果*i;
$(this.parent().parent().find(#total”).html(total.show();
});

产品名称

+

55 TL

275 TL

另一个产品名称

+

25 TL

125 TL


你可以在这里看到我的答案


产品名称

+

55 TL

275 TL

另一个产品名称

+

25 TL

125 TL

$(“按钮”)。单击(函数(事件){ var i=+$(event.target).prev().val() i+=1; $(event.target.prev().val(i); var price=$(event.target.parent().next().text(); var结果=价格。替换('TL',''); var总计=结果*i; $(event.target).parent().next().next().html(总计).show(); });
你可以在这里看到我的答案


产品名称

+

55 TL

275 TL

另一个产品名称

+

25 TL

125 TL

$(“按钮”)。单击(函数(事件){ var i=+$(event.target).prev().val() i+=1; $(event.target.prev().val(i); var price=$(event.target.parent().next().text(); var结果=价格。替换('TL',''); var总计=结果*i; $(event.target).parent().next().next().html(总计).show(); });
id属性应该是唯一的。注意你有“数量”twiceok。我们假设id是唯一的。我怎样才能用jquery动态地获得这个id值呢?你不必使用id,我正在为你做一把小提琴——正如我保证的那样,在下面给我一个简单的答案。。请随意提问。SID属性应该是唯一的。注意你有“数量”twiceok。我们假设id是唯一的。我怎样才能用jquery动态地获得这个id值呢?你不必使用id,我正在为你做一把小提琴——正如我保证的那样,在下面给我一个简单的答案。。请随意提问并给出答案,记住在同一个html答案中最好避免使用相同的id,记住在同一个html答案中最好避免使用相同的id