Javascript jQuery更改行的值
我有一张产品表。 我每行都有一个按钮。当我点击按钮时,我想通过为此行添加1来更改输入文本框的值。但它只适用于第一排。 下面是我的HTML和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"/> <
<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