【问题标题】:jquery loop not workingjquery循环不工作
【发布时间】:2013-04-09 15:32:18
【问题描述】:

为什么会这样:

var m = 1;
jQuery('#div_sel'+m).click(function() { 
    jQuery('input[id="sel'+m+'"]').val('blahblah'); 
});

但不是这个:

var m = 1; 
while (m < 8) {
    jQuery('#div_sel'+m).click(function() { 
        jQuery('input[id="sel'+m+'"]').val('blahblah');
    });
    m += 1;
}

【问题讨论】:

标签: jquery


【解决方案1】:

因为当循环结束和触发事件时,m 的全局值将设置为 8,所以您的 div 选择器将是 input[id="sel'+8+'"]'

您可以使用attribute selector with wild card 绑定事件。您可以通过从id 中删除div_sel 来从id 中获取索引,并使用索引来制作输入ID 并使用id selector

jQuery('id^=div_sel]').click(function() { 
     index = this.id.replace('div_sel', '');
     jQuery('#sel'+ index).val('blahblah');
});

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 2016-06-10
    • 2016-12-21
    • 1970-01-01
    • 2013-10-19
    • 2013-07-01
    • 2012-02-02
    • 1970-01-01
    相关资源
    最近更新 更多