[javascript] jQuery를 사용하여 선택의 모든 옵션을 얻는 방법은 무엇입니까?
ID를 전달하여 jQuery를 통해 선택의 모든 옵션을 얻는 방법은 무엇입니까?
나는 텍스트가 아닌 그들의 가치만을 얻으려고합니다.
답변
사용하다:
$("#id option").each(function()
{
// Add $(this).val() to your list
});
답변
jQuery는 모르지만 select 요소를 얻으면 ‘options’객체가 포함되어 있다는 것을 알고 있습니다.
var myOpts = document.getElementById('yourselect').options;
alert(myOpts[0].value) //=> Value of the first option
답변
$.map
아마도 가장 효율적인 방법 일 것입니다.
var options = $('#selectBox option');
var values = $.map(options ,function(option) {
return option.value;
});
선택한 옵션 $('#selectBox option:selected')
만 원하는 경우 변경 옵션을 추가 할 수 있습니다 .
첫 번째 줄은 모든 확인란을 선택하고 jQuery 요소를 변수에 넣습니다. 그런 다음 .map
jQuery 의 함수 를 사용하여 해당 변수의 각 요소에 함수를 적용합니다. 우리가하고있는 모든 것은 우리가 관심있는 모든 요소의 가치를 돌려주는 것입니다. map 함수 안에서 반환하기 때문에 실제로 요청한대로 값의 배열을 만듭니다.
답변
일부 답변은을 사용 each
하지만 map
여기서 IMHO가 더 나은 대안입니다.
$("select#example option").map(function() {return $(this).val();}).get();
map
jQuery 에는 적어도 두 가지 기능이 있습니다. Thomas Petersen의 답변은 “Utilities / jQuery.map”을 사용합니다. 이 답변은 “여행 /지도”(따라서 좀 더 깔끔한 코드)를 사용합니다.
값으로 수행 할 작업에 따라 다릅니다. 예를 들어 함수에서 값을 반환하려는 map
경우 더 나은 대안 일 수 있습니다. 그러나 값을 직접 사용하려는 경우에는 아마도 원할 것 each
입니다.
답변
$('select#id').find('option').each(function() {
alert($(this).val());
});
답변
$("#id option").each(function()
{
$(this).prop('selected', true);
});
는 있지만 올바른 방법은 요소의 DOM 속성을 설정하는 것입니다, 그래서 좋아한다 :
$("#id option").each(function(){
$(this).attr('selected', true);
});
답변
이것은 옵션 값을 #myselectbox
깔끔하고 깔끔한 배열로 만듭니다.
// First, get the elements into a list
var domelts = $('#myselectbox option');
// Next, translate that into an array of just the values
var values = $.map(domelts, function(elt, i) { return $(elt).val();});