如何从控件访问多个值

时间:2009-09-07 05:36:21

标签: jquery

我的页面上有一堆textboxcontrol,都是类'red'。单击按钮,如何在变量中同时从textboxcontrol中检索所有这些值?我也想避免空控制。

我正在尝试这个

var values=$('input[class="red"]') ??(what to put here)
function()
{
  return $(this).val()
}
);

3 个答案:

答案 0 :(得分:1)

var values;
$('input[class="red"]').each(function(){
     values = ( $(this).val() ) ? values + $(this).val() : values;
});

答案 1 :(得分:1)

您可以使用Traversing/map功能:

var values = $('input.red').map(function () {
  var value = $(this).val() || null; // if value is '', null will be returned
    return $(this).val();
});

values变量将是一个包含输入所有值的数组,不包括空值。

如果要获取一个字符串中的所有值,可以通过以下方式join所有数组元素:

var stringValues = values.join(); // values separated by comma

此外,为了匹配具有确定类的元素,您不需要使用attributeEquals选择器,您只需使用我的示例中的.class选择器。

答案 2 :(得分:0)

您可以使用trim函数检查空值和包含多于1个空格的值。

$(document).ready ( function () {
    var strValues = "";
    $("[input[class='test']").each ( function ()
    {               
        if ( jQuery.trim ( $(this).val() ) != "" )
           strValues += $(this).val();
   });
   alert ( strValues );
});


<input class="test" type="text" value="a" />
<input class="test" type="text" value="   " />
<input class="test" type="text" value="b" />
<input class="test" type="text" value="c" />
<input class="test" type="text" value="d" />
<input class="test" type="text" value="e" />
<input class="test" type="text" value="f" />