반응형
쥬리 겟제이SON 채우기 선택 메뉴 질문
getJSON으로 선택 메뉴를 채우고 있습니다.jQuery의 .각 함수를 사용하여 이 값을 가져올 수 있는 방법이 있는지 궁금합니다.
분명 더 쉬운 방법이 있을거야 아마도?
PHP 파일:
<?php
$queryMonth = "SELECT monthID, month FROM months";
$result = $db->query($queryMonth);
while($rowMonth = $db->fetch_assoc($result)) :
$data[] = $rowMonth;
endwhile;
echo json_encode($data);
?>
jQuery:
$.getJSON('selectMenus.php', function(data) {
$("select.month").append("<option value=" + data[0].monthID + ">" + data[0].month + "</option>");
$("select.month").append("<option value=" + data[1].monthID + ">" + data[1].month + "</option>");
$("select.month").append("<option value=" + data[2].monthID + ">" + data[2].month + "</option>");
$("select.month").append("<option value=" + data[3].monthID + ">" + data[3].month + "</option>");
$("select.month").append("<option value=" + data[4].monthID + ">" + data[4].month + "</option>");
$("select.month").append("<option value=" + data[5].monthID + ">" + data[5].month + "</option>");
$("select.month").append("<option value=" + data[6].monthID + ">" + data[6].month + "</option>");
$("select.month").append("<option value=" + data[7].monthID + ">" + data[7].month + "</option>");
$("select.month").append("<option value=" + data[8].monthID + ">" + data[8].month + "</option>");
$("select.month").append("<option value=" + data[9].monthID + ">" + data[9].month + "</option>");
$("select.month").append("<option value=" + data[10].monthID + ">" + data[10].month + "</option>");
$("select.month").append("<option value=" + data[11].monthID + ">" + data[11].month + "</option>");
});
json 출력은 다음과 같습니다.
[{
"monthID": "1",
"month": "January"
}, {
"monthID": "2",
"month": "February"
}, {
"monthID": "3",
"month": "March"
}, {
"monthID": "4",
"month": "April"
}, {
"monthID": "5",
"month": "May"
}, {
"monthID": "6",
"month": "June"
}, {
"monthID": "7",
"month": "July"
}, {
"monthID": "8",
"month": "August"
}, {
"monthID": "9",
"month": "Septemeber"
}, {
"monthID": "10",
"month": "October"
}, {
"monthID": "11",
"month": "November"
}, {
"monthID": "12",
"month": "December"
}]
$.getJSON('selectMenus.php', function(data){
var html = '';
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<option value="' + data[i].monthId + '">' + data[i].month + '</option>';
}
$('select.month').append(html);
});
HTML 코드를 변수에 저장하고 마지막에 한 번만 추가하는 것은 앱 성능에 신경 쓴다면 매우 중요합니다.
작동해야 합니다.
$.getJSON('selectMenus.php', function(data){
$.each(data, function(index,item) {
$("select.month").append("<option value=" + item.monthID + ">" + item.month + "</option>");
});
});
위대한 책 jQuery in Action에서 사용자 지정 jQuery 명령을 작성하는 방법은 다음과 같습니다.
(function($) {
$.fn.emptySelect = function() {
return this.each(function(){
if (this.tagName=='SELECT') this.options.length = 0;
});
}
$.fn.loadSelect = function(optionsDataArray) {
return this.emptySelect().each(function(){
if (this.tagName=='SELECT') {
var selectElement = this;
$.each(optionsDataArray,function(index,optionData){
var option = new Option(optionData.caption,
optionData.value);
if ($.browser.msie) {
selectElement.add(option);
}
else {
selectElement.add(option,null);
}
});
}
});
}
})(jQuery);
그 다음은:
$.getJSON('selectMenus.php',
function(data){
$("select.month").loadSelect(data);
}
);
@RaYell의 메서드를 사용하는 중...이것이 제게 효과가 있었던 것입니다.
$.getJSON('months.php', function(data){
var html = '';
var len = data.length;
for (var i = 0; i < len; i++) {html += '<option value="' + data[i].monthId + '">' + data[i].month + '</option>';
}
$('select.month').append(html);
});
이에 대한 여러분의 도움에 감사드립니다!!
당신은 a를 사용할 수 있습니다.for
고리.
for (var i = 0, len = data.length; i < len; i++)
$("select.month")
.append("<option value=" + data[i].monthID + ">" + data[i].month + "</option>");
최대 성능을 달성하려면 다음과 같이 DOM 작업을 최소화해야 합니다.
var html = [];
for (var i = 0, len = data.length; i < len; i++) {
html[html.length] = "<option value=";
html[html.length] = data[i].monthID;
html[html.length] = ">";
html[html.length] = data[i].month;
html[html.length] = "</option>";
}
$("select.month").append(html.join(''));
언급URL : https://stackoverflow.com/questions/1502649/jquery-getjson-populate-select-menu-question
반응형
'it-source' 카테고리의 다른 글
형제 노드에 특정 값이 있는 경우 XPath를 사용하여 노드를 선택하는 방법은 무엇입니까? (0) | 2023.09.23 |
---|---|
여러 표에서 구별되는 값을 선택하는 방법 (0) | 2023.09.23 |
내장된 C 코드의 유지보수성을 위해 #c 소스 파일을 #포함해도 괜찮습니까? (0) | 2023.09.23 |
:= 연산자는 mysql에서 무엇을 의미합니까? (0) | 2023.09.23 |
스택 및 힙의 메모리 할당 (0) | 2023.09.23 |