Jquery 对多个 ID 应用单个函数

Jquery Applying single function for multiple IDs

本文关键字:应用 单个 函数 ID Jquery      更新时间:2023-09-26

我正在动态生成三组输入框的ID(自动增量)。因此,一组具有诸如"inputbox1,inputbox2等"之类的ID,另一组具有诸如"value1,value2等"之类的ID,第三组具有"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);
});
$("#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);
  });
});

您可以为 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
});

查看文档

尝试使用 .each() :

$('input').each(function(e){
    //do your stuff
});

您可能需要确定要包含在另一个类中的特定输入。 在这种情况下,使用 id 不起作用。

查看此页面: http://api.jquery.com/each/