program tip

jQuery, 다중으로 배열을 얻는 방법

radiobox 2020. 11. 26. 08:07
반응형

jQuery, 다중으로 배열을 얻는 방법 같은 이름으로


사용자가 jQuery로 입력 필드를 추가 할 수있는 양식이 있습니다.

<input type="text" id="task" name="task[]" />

양식을 제출 한 후 PHP로 배열을 얻습니다.

나는 이것을 처리하고 $.ajax()싶지만 <input>jQuery에서 s를 배열 로 바꾸는 방법을 모릅니다 .

미리 감사드립니다.


지도 사용 :

var values = $("input[id='task']")
              .map(function(){return $(this).val();}).get();

ID (고유해야 함)를 변경하거나 제거하는 경우 선택기를 사용할 수도 있습니다. $("input[name='task\\[\\]']")

작동 예 : http://jsbin.com/ixeze3


여러 요소의 경우 id 대신 클래스를 제공해야합니다. 예 :

<input type="text" class="task" name="task[]" />

이제 다음과 같이 jquery를 사용하여 가져올 수 있습니다.

$('.task').each(function(){
   alert($(this).val());
});

첫째, 한 페이지에 동일한 ID를 가진 요소가 여러 개 있어서는 안됩니다. ID는 고유해야합니다.

id 속성을 제거하고 다음으로 바꿀 수 있습니다.

<input type='text' name='task'>

작업 값의 배열을 얻으려면

var taskArray = new Array();
$("input[name=task]").each(function() {
   taskArray.push($(this).val());
});

이름 배열을 잡으려면 다음을 사용합니다.

$("input[name*='task']")

문서의 여러 요소에 동일한 ID를 사용할 수 없습니다. 요소의 ID와 이름은 동일하게 유지하십시오.

<input type="text" id="task1" name="task" />
<input type="text" id="task2" name="task" />
<input type="text" id="task3" name="task" />
<input type="text" id="task4" name="task" />
<input type="text" id="task5" name="task" />

var newArray = new Array();

$("input:text[name=task]").each(function(){
    newArray.push($(this));
});

HTML :

<input type="text" name="task[]" class="form-control" id="task">

JS :

var tasks= new Array();
$('input[name^="task"]').each(function() 
{
tasks.push($(this).val());
});

선택자가 동일한 ID를 얻으려면 다음을 사용하십시오.

$("[id=task]:eq(0)").val();
$("[id=task]:eq(1)").val();
etc...

이를 위해 jquery.serializeJSON사용할 수 있습니다 .


Q : 이름 배열 텍스트 필드에 액세스하는 방법

<input type="text" id="task" name="task[]" />

답변-입력 이름 배열 사용 :

$('input[name="task\\[\\]"]').eq(0).val()
$('input[name="task\\[\\]"]').eq(index).val()

참고 URL : https://stackoverflow.com/questions/2627813/how-to-get-an-array-with-jquery-multiple-input-with-the-same-name

반응형