2016-06-08 2 views
0

페이지가 여러 개인 select 요소가 있습니다. 일부는 보이고 일부는 보이지 않습니다. 눈에 띄는 숫자 인 select과 해당 ID를 얻고 싶습니다.모든 드롭 다운 목록의 표시된 drodpdownlist 및 ID의 총계를 가져옵니다.

숫자가 $("select:visible").length을 사용하고 있지만 표시 할 수있는 드롭 다운 ID를 가져올 수 없습니다.

+1

을 당신이 할 수있는 각()'또는'id' 사용 속성의 배열을 구축'사용하여 해당 선택을 통해 루프 중' map()'. 데이터를 가져올 방법을 * 또는 * 왜 * 요구했는지에 대해 실제로 알려주지 않았으므로이 경우 더 적합한 방법을 안내 할 수는 없습니다. –

+0

해당 페이지의 유효성을 검사하고 모든 보이는 드롭 다운의 ID와 해당 값을 Ajax 함수에 전달하고 싶습니다. 이 질문에 관련된 코드 샘플을 게시하십시오 –

답변

3

1) 볼 드롭 다운리스트의 개수 :

var len = $("select:visible").length; 

2) 모든 눈에 보이는 드롭 다운 목록의 ID를 얻을 :

$("select:visible").each(function(i,v){ // loop through all visible selectbox 
    console.log($(this).attr("id")); // you can get id using $(this).attr("id) 
    // OR 
    console.log(this.id); 
}) 
+1

예 업데이트 대답 : –

+0

Dhara, 그 일을 .. 감사합니다. –

+0

@Ali L .... 대답으로 표시하는 것을 잊지 마십시오 .. :) –

0

내가, 해당 페이지의 유효성을 검사 모두의 ID를 전달하려면 표시되는 드롭 다운 및 해당 값을 ajax 함수에 전달합니다.

이 경우에는 n 배열을 id 및 보이는 선택의 값. 당신은 할 수있다, 당신의 $.ajax 요청이 같은 데이터를 전송하기 전에 map()를 사용하여 :

var selectData = $("select:visible").map(function() { 
    return { 
     'id': this.id, 
     'value': this.value 
    } 
}).get(); 

$.ajax({ 
    url: '/myendpoint', 
    data: selectData, 
    success: function() { 
     console.log('It worked!'); 
    } 
}); 
+0

고마워요, 로리. 나는 아약스와 같은 방식으로 전화하고있다. –

관련 문제