我有两组输入,ID由短语和数字组成:A(a1,a2,...)和B(b1,b2,...)。
HTML:
<input id="a1" value="1">
<input id="b1" value="">
<input id="a2" value="2">
<input id="b2" value="">
...
现在我想提取A的值,用它做someFunction(数字)并将结果粘贴到B的值中。类似于:
JS:
$( "[id^='b']" ).val( someFunction( $( "[id^='a']" ).val() ) );
function someFunction(n)
{
return 5*n;
}
我得到的结果是:
结果(JSFiddle):
a1: 1
b1: 5
a2: 2
b2: 5
但我想得到这个:
结果(我想要的是):
a1: 1
b1: 5
a2: 2
b2: 10
因此,如果我可以访问jQuery当前选择的元素的数据,可能的解决方案可能是:
$("[id^='b']").val(...)
设置每个B(b1,b2,...)val(...)
内
number
"a"+number
那么,如何从jQuery当前选择的元素中访问数据?或者有更好的解决方案,我不知道?
答案 0 :(得分:1)
尝试
$("[id^='b']").val(function () {
return 5 * parseInt($('#a' + this.id.replace('b', '')).val());
});
答案 1 :(得分:0)
好的,我用下面的代码解决了这个问题,所以我的函数是在jQuery之外声明的:
$("[id^='b']").val(function()
{
return someFunction($('#'+this.id.replace('b','a')).val());
});
感谢Tushar Gupta的灵感。