具有相似名称的多个输入

时间:2010-08-04 17:58:32

标签: jquery input loops

所以我有一些名称会话的输入,他们增加.... session0 session1 session2。 如果我想通过循环运行它们,我该怎么做。我正在使用jquery。

例如..

for(i=0,i<10,i++)
{
var num = (session + i).value + i;
}

所以我想要的是循环遍历带有前缀会话的所有输入并将它们的值输出到变量。这个输出可以进入阵列。 如果数组显然看起来更像。

num[i] = stuff+i;

感谢。

好吧,我最终选择了JavaScript。感谢您提供的所有帮助。这是最后的代码。

function get()
{
var alldata;
var values = [];
      $("input[name^='media']").each(function(i, anInput) {
        var check = values[i] = $(anInput).attr('checked');
        if(check == true)
        {
        var ID = "session" + i;
        var type = $(anInput).attr('value');
        if(i > 9)
        {
        var cont = "#ex"+ i;
        }
        else{
        var cont = "select[name='" + ID + "']";
        }
        var scope = $(cont).attr('value');
        if(!alldata)
        {
        alldata = type + ': ' + scope + ' ';
        }
        else
        alldata =  alldata + ' ' + type + ': ' +  scope + ' ';
        };

      })
$('#sessions').attr('value',alldata);
}

2 个答案:

答案 0 :(得分:4)

使用starts with选择器^each功能,如下所示:

var arr = new array();
$('input[name^="session"]').each(function(){
   alert($(this).val());
   // arr[] = $(this).val();
});

答案 1 :(得分:4)

这个怎么样:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
      <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
      <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
          var values = [];
          $("input[name^='session']").each(function(i, anInput) {
            values[i] = $(anInput).val();
          })
        })
      </script>
    </head>
    <body>
        <input type="text" value="5" name="session0" />
        <input type="text" value="7" name="session1" />
        <input type="text" value="2" name="session2" />
        <input type="text" value="1" name="session3" />
    </body>
</html>