2017-12-15 1 views
2

map()에 문제가 있습니다.공통 이름의 여러 요소로 값 가져 오기

<input type="text" name="ctrl[]" /> 
<select name="ctrl[]" /> 
<textarea name="ctrl[]" /> 
var values = $("select[name='ctrl\\[\\]']").map(function(){ 
    return $(this).val(); 
}).get(); 

input와 잘하지만 선택과 textaera 작동 내 양식에서 모든 변수를 얻을하려고하지만 난 요소 (입력 선택, textaera)의 여러 유형을 가질 수 없습니다. 나 좀 도와 줄 수있어?

+0

(이 옵션을 선택 제거하고'VAR 값 = $ ("[이름 = 'Ctrl 키를 \\ [\\]']") .MAP (함수() {$를 반환 시도) – Ghostman

+2

속성 값의 따옴표 안에 사용될 때'[]'를 이스케이프 할 필요가 없다 – charlietfl

+0

당신이 원하는 모든 입력을 .map ... a class로 줄 수도있다. name을 입력하고 해당 클래스에 매핑하면됩니다. $ (". mapthis"). map (... – IncredibleHat

답변

1

당신은 선택에서 선택을 제거해야합니다 : 코드 위

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

이 이름 ctrl[]있을 것이다 입력의 모든 유형을 선택합니다.

$("select[name='ctrl\\[\\]']")은 사용자 이름이 ctrl[] 인 선택 상자 값만 선택하도록 제한합니다.

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

 
console.log(values);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text" name="ctrl[]" value="input_value" /><br> 
 
<select name="ctrl[]"> 
 
    <option value="selectd_value">option 1</option> 
 
</select><br> 
 
<textarea name="ctrl[]">textarea_value</textarea>

+0

감사합니다. 잘 작동합니다 :) – Fabien14

관련 문제