我动态生成三组输入框的ID(自动增量)。所以一组有ID,例如" inputbox1,inputbox2等"另一组有ID,如" value1,value2等"第三组有" result1,result2等"
我在jquery中的基本功能是:
$("#button").click(function() {
var inputbox1 = parseInt($('#inputbox1').val());
var value1 = parseInt($('#value1').val());
$("#result1").val(inputbox1 + value1);
});
我不知道会有多少个输入框,因为它们是动态生成的。那么我如何为所有文本框应用相同的基本功能呢?我知道像这样的多个函数效率低下,可能不是正确的方法。
$("#button").click(function() {
var inputbox1 = parseInt($('#inputbox1').val());
var value1 = parseInt($('#value1').val());
$("#result1").val(inputbox1 + value1);
var inputbox2 = parseInt($('#inputbox2').val());
var value2 = parseInt($('#value2').val());
$("#result2").val(inputbox2 + value2);
});
答案 0 :(得分:2)
$("#button").click(function() {
$('input[id="^inputbox"]').each( function(){
var inputbox = parseInt($(this).val());
var number = $(this).attr( "id" ).split ( "inputbox" )[ 1 ];
var value = parseInt($('#value' + number).val());
$("#result" + number).val(inputbox + value);
});
});
答案 1 :(得分:1)
您可以编写ID属性的查询以匹配前缀子字符串,因此您可以获得具有以“inputbox”开头的ID属性的每个元素。
$("[id^='inputbox']").each(function() {
// extract the number with a simple split or substring, and do whatever you need
});
如果您需要,可以更具体:
$("input[id^='inputbox']").each(function() {
// extract the number with a simple split or substring, and do whatever you need
});
答案 2 :(得分:0)
尝试使用.each():
$('input').each(function(e){
//do your stuff
});
您可能需要确定要包含在另一个类中的特定输入。在这种情况下,使用id不会起作用。