2011-10-22 4 views
1

입력 배열 username 값을 jQuery 변수 users에 어떻게 가져 옵니까?Jquery 입력 배열 양식 아약스

<input type='text' name='username[]' class='users' value='test1' /> 
    <input type='text' name='username[]' class='users' value='test2' /> 
    <input type='text' name='username[]' class='users' value='test3' /> 

<div class='submit'>Submit</div> 

    <script type="text/javascript"> 
    $(function() { 

     $('.submit').click(function() { 

      var users = 
     var dataString = 'users=' + users; 

      $.ajax({ 
      type:'POST', 
      url:'users.php', 
      data: dataString, 
      success: function() { 


       } 
      }); 
     }); 


    }); 
    </script> 

답변

8

체크 아웃 jQuery.serialize(). 사용자 이름 배열을 제공해야합니다.

var users = $('input:text.users').serialize(); 

당신은 선택기 그러나 게으른 또는 특정 될 수 있습니다 .users, input.users, form .users하는 모든 일, 플러스 몇 가지 더. 이 예를 들어

:

// users = 
username[]=test1&username[]=test2&username[]=test3 

는, 서버 측 기술에 따라 키 "사용자 이름"에 대한 문자열 배열로 요청을 통해 올 것이다 (PHP, 예를 들면).

1

당신은 배열을 얻을 수 map를 사용할 수 있습니다 http://jsfiddle.net/ambiguous/w2RRW/

+0

감사하지만 '난'와 '엘'을 참조한다 :

// from inside the submit callback var users = $(this).find('.users').map(function(i, el) { return el.value; }); 

데모 (오픈 콘솔 실행)? – user892134

+0

i = index, el = element –

+0

@ user892134 : Intersellar의 의견이나 설명서를 참조하십시오. http://api.jquery.com/map/ 배열 또는 URL 문자열을 가져 오려고합니까? 귀하의 질문과 코드는 다른 것들을 말합니다. –

2
<script> 

     $(function() { 

      $('.submit').click(function() { 

       // Get data as array, ['Jon', 'Mike'] 
       var users = $('input[name="username[]"]').map(function(){ 
        return this.value; 
       }).get(); 

       $.ajax({ 
        type: 'POST', 
        url: 'users.php', 
        data: { 
         'username[]': users, 
         // other data 
        }, 
        success: function() { 

        } 
       }); 

      }); 

     }); 

    </script>