使用通配符从具有不同类的输入文本框中获取值

时间:2014-11-15 17:04:18

标签: jquery wildcard

谷歌搜索后,在论坛上搜索并尝试了许多不同的替代方案,我无法找到解决方案,即使它看起来如此简单! 我需要从相同的字符串

开始获取不同类的值
<div id="home"></div>
<input type="text" class="var_in_1">
<input type="text" class="var_in_2">

$(document).on('change', '[class^="var_in"]', function () {
     $("#home").append($('[class^="var_in"]').val() + " --- ");
});

我创造了一个小提琴来更好地解释我的问题: http://jsfiddle.net/5zdpq1wL/ 正如你所看到的,它只获得第一个值!!

2 个答案:

答案 0 :(得分:2)

试试这个:

var allValues = $('[class^="var_in"]').map(function(){
    return this.value;
}).get(); //or toArray()

http://jsfiddle.net/4o1xg2qw/

如评论中所述,您需要迭代与您的选择器匹配的所有元素。

要添加---分隔符,只需加入值:

console.log(allValues.join(' --- '));

答案 1 :(得分:0)

查看此解决方案

$(document).on('change', '[class^="var_in"]', function () {
    var content = '';
    $('[class^="var_in"]').each(function(){
       if(this.value) content += (this.value + ' --- ');
    });
    $("#home").html(content);
});
  • 我已经取代$(“#home”)。追加(内容)$(“#home”)。html(内容),因为我不确定你真正想要的是什么。