【问题标题】:Javascript FOR loop, form input variables [closed]Javascript FOR循环,表单输入变量
【发布时间】:2013-05-15 07:42:25
【问题描述】:

我在将表单名称递增到 jscript 变量时遇到问题。 ($('#p'+i+'_status')) 每个状态有 10 个。对于 1 个输入,它应该是 $('#p1_status'),所以我可以简单地 输入 p1-p10 并这样做,但是应该有更好的解决方案来解决这个问题吧?

$(function() {
var status = [];

   for (var i=1;i<=10;i++){
      status[i] = $('#p'+i+'_status');
   }

   if(status[i]=='Enabled'){
       --validation scripts--
   }
}

【问题讨论】:

  • 这是 JavaScript 还是 JScript?
  • 您遇到了什么错误?一方面,您在for 循环之外使用status[i],这没有任何意义。
  • Javascript 我并不是说让 Jscript 变得与众不同。另外,它只是由 pXL 用 ($('#p'+i+'_status')) 编辑的,所以我认为这可能是问题所在?使用 $('#p'+i+'_status') 不会捕获输入,并且 if 语句不会处理。
  • I am having an issue with incrementing form names to be pulled 是那个名字或ids,因为$('#p'+i+'_status'); 拉取ids。
  • id 再次为您的困惑感到抱歉! >_

标签: javascript jquery forms variables input


【解决方案1】:

如果你没有其他以_status结尾的输入,你可以使用以selector结尾的属性来全选:

$(function() {
    $('input[id$="_status"]').each(function(i, ele) {
        if ( !ele.disabled ) { 
             // do stuff
        }
    });
});

【讨论】:

  • "一个 DOM 元素究竟是如何变成一个字符串的?" ?
  • @roasted - OP 的 if 语句正在检查 DOM 元素是否等于字符串 Enabled。 adeneo:也许输入是复选框或无线电输入?
  • @roasted - 我只是按照 OP 的代码,但 status[i]=='Enabled' 没有意义,因为 DOM 元素永远不会是字符串 'Enabled'。
  • @Caswell - 现在说什么???
  • @SheikhHeera - 这实际上是有道理的,因为一个元素没有 enabled 属性,我只是无法弄清楚字符串比较是关于什么的?
猜你喜欢
  • 2021-07-25
  • 2020-08-28
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多