我有以下jquery语法:
$.post('get_sku_prices', {data:product1.value},function(result)
{
var counter=1
$('input[id=price1]').val(result);
$('input[id=adjustedprice1]').val(result);
alert(result);
counter++;
});
这显然会调用返回结果的函数get_sku_prices
(在本例中为108)。 alert(result)
确实显示108
但是将108
插入两个输入price1
和adjusted1
的两行不起作用?
这有什么问题?
$('input[id=price1]').val(result);
$('input[id=adjustedprice1]').val(result);
我的问题的第二部分是我想让输入名称动态化。所以我的表单上有多个输入,price1,price2,price3,price4等,因此我想让数字变得动态。
我对循环没有任何问题,这是正常工作但是如何使输入动态填充。所以按照我的例子:
$('input[id=price1]').val(result);
$('input[id=price2]').val(result);
$('input[id=price3]').val(result);
$('input[id=price4]').val(result);
就像这样简单:
$('input[id=price+counter]').val(result);
提前致谢,感谢您的时间和精力。
更新
问题的第一部分现在正在运作,感谢人们: - )
我现在正试图让语法的动态部分工作。评论说明的确有效。如果我现在要将其更改为动态它不起作用。我相信问题出在柜台上。
查看以下语法,警报会重复,并按照您的预期进行1,2,3,4等。
alert(countertwo);
$.post('get_sku_prices', {data:product1.value},function(result)
{
//$('#price1').val(result);
$('#adjustedprice'+counter).val(result);
//$('#adjustedprice1').val(result);
$('#price'+counter).val(result);
});
如果我将语法更改为:
$.post('get_sku_prices', {data:product1.value},function(result)
{
alert(countertwo);
//$('#price1').val(result);
$('#adjustedprice'+counter).val(result);
//$('#adjustedprice1').val(result);
$('#price'+counter).val(result);
});
警报现在在每个警报上显示“20”(20次)。 20是行数。所以在$ .post函数内警报不起作用?
关于为什么不能以及如何解决这个问题的任何想法?
感谢。
答案 0 :(得分:1)
这段代码怎么样(你在反驳声明之后错过了一个分号):
$.post('get_sku_prices', {data:product1.value},function(result)
{
var counter=1;
$('#price1').val(result);
$('#adjustedprice1').val(result);
alert(result);
counter++;
});
关于你的第二个问题,如果你想用相同的值填充所有输入,最简单的就是给它一个类
<input type="text" id="price1" class="inputprice" />
<input type="text" id="price2" class="inputprice" />
<input type="text" id="price3" class="inputprice" />
然后在您的脚本中,您将定位具有类inputprice的所有元素,并更改值:
$('.inputprice').val(result);