질문에 따르면 jQuery를 사용하여 DropDownList에 새 옵션을 어떻게 추가합니까?
감사
답변
추가 플러그인을 사용하지 않고
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
많은 옵션이 있거나이 코드를 매우 자주 실행해야하는 경우 DOM을 불필요하게 여러 번 수정하는 대신 DocumentFragment 를 사용해야합니다 . 소수의 옵션에 대해서만 가치가 없다고 말하고 싶습니다.
——————————- 추가 —————— ————–
DocumentFragment
속도 향상에는 좋은 옵션이지만 document.createElement('option')
IE6 및 IE7에서 지원하지 않기 때문에 옵션 요소를 사용할 수 없습니다 .
우리가 할 수있는 일은 새로운 select 요소를 만들고 모든 옵션을 추가하는 것입니다. 루프가 완료되면 실제 DOM 객체에 추가하십시오.
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var _select = $('<select>');
$.each(myOptions, function(val, text) {
_select.append(
$('<option></option>').val(val).html(text)
);
});
$('#mySelect').append(_select.html());
이런 식으로 DOM을 한 번만 수정합니다!
답변
플러그인이 없으면 많은 jQuery를 사용하지 않고도 약간 더 오래된 학교로 갈 수 있습니다.
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
$.each(myOptions, function(val, text) {
$('#mySelect').append( new Option(text,val) );
});
옵션 a)가 기본적으로 선택된 값인지 여부와 b)를 지금 선택해야하는지 여부를 지정하려면 두 개의 매개 변수를 더 전달할 수 있습니다.
var defaultSelected = false;
var nowSelected = true;
$('#mySelect').append( new Option(text,val,defaultSelected,nowSelected) );
답변
플러그인 : jQuery 선택 상자 . 당신은 이것을 할 수 있습니다 :
var myOptions = {
"Value 1" : "Text 1",
"Value 2" : "Text 2",
"Value 3" : "Text 3"
}
$("#myselect2").addOption(myOptions, false);
답변
DropDown을 먼저 지우고 싶을 수도 있습니다. $ ( ‘# DropDownQuality’). empty ();
MVC의 컨트롤러가 항목이 하나만있는 선택 목록을 반환하도록했습니다.
$('#DropDownQuality').append(
$('<option></option>').val(data[0].Value).html(data[0].Text));
답변
처음에 나열 할 항목 추가
$("#ddlList").prepend('<option selected="selected" value="0"> Select </option>');
마지막에 나열 할 항목 추가
$('<option value="6">Java Script</option>').appendTo("#ddlList");
jQuery를 사용한 일반적인 드롭 다운 작업 (Get, Set, Add, Remove)
답변
Peas note @Phrogz의 솔루션은 IE 8에서 작동하지 않지만 @nickf는 모든 주요 브라우저에서 작동합니다. 다른 접근법은 다음과 같습니다.
$.each(myOptions, function(val, text) {
$("#mySelect").append($("<option/>").attr("value", val).text(text));
});
답변
U는 직접 사용할 수 있습니다
$"(.ddlClassName").Html("<option selected=\"selected\" value=\"1\">1</option><option value=\"2\">2</option>")
-> 여기서 직접 문자열을 사용할 수 있습니다
