2009-04-26 6 views
3
를 사용하여 드롭 다운 목록을 채울 필요가

안녕 난 내가 특정 값, 를 선택하고 옵션은 데이터베이스에서 쿼리 할 필요가있을 때 드롭 다운 목록을 채울 필요가 ...데이터베이스에서 값을 얻을 JQuery와

jquery에서이 작업을 수행 할 수 있습니까? 내가 도와 주시면 감사하겠습니다.

답변

2

당신은 jQuery를하고 AJAX

와 함께 할 수는 dropdownValues.php에서
jQuery.post('dropdownValues.php', {parameterSentToServer1:'value', param2:'value2'}, function(data){jQuery('#mydropdown option').remove(); //Remove current options 
for (var option in data.results){ 
    jQuery('#mydropdown').append('<option value="'+option.value+'">'+option.name+'</option>'); 
}}, 'json'); 

당신은 SQL의 결과를 JSON 개체를 구축해야합니다 쿼리 객체 (위의 스크립트와 함께 잘 작동에 대한)이 형식이어야합니다 :

echo '{results:[{value:1, name:'Option1'}, {value:2, name:'Option2'}]}; 
0

"드롭 다운 목록"은 팝업 메뉴 (예 : <select> 요소)를 말합니까? 그렇다면 다음과 같이, 당신은 그것을 채울 수 있습니다 :

var data = ["Hello World!", 42, true, "Foo"]; 
var select = document.getElementById("myPopupMenu"); 

for (var i = 0, l = data.length; i < l; i++) 
{ 
    var option = new Option(); 
    option.innerHTML = data[i]; 
    select.appendChild(option); 
} 

그러나이 일반 자바 스크립트 - 난에 jQuery를 구문이 어떻게 될지 확실하지 않다.

스티브

+0

값을 얻는 데 문제가 없지만 드롭 다운 목록을 채우려면 어떻게해야합니까? – jarus

+0

맞습니다. 귀하의 질문에 답변하기 위해 제 답변을 업데이트했습니다. –

0

분명히 이것을 달성 할 수 있습니다. AJAX를 사용해야합니다.

아약스는 모두 자체적으로 주제이지만 기본적으로 드롭 다운에서 선택하면 자바 스크립트 함수를 호출합니다. 자바 스크립트 함수는 Ajax를 통해 서버에서 페이지를 요청할 것이고, 서버는 작은 데이터 덩어리를 리턴 할 것이고, 자바 스크립트에서 다시 사용하여 두 번째 드롭 다운을 다시 채울 수있다.

Google은 Jquery로 Ajax를 수행하는 방법을 알고 있습니다. 다음은 시작 수있는 페이지의 : http://www.ajaxlines.com/ajax/stuff/article/use_jquery_ajax_to_create_options_in_a_dropdown_menu.php

+0

링크가 죽었지 만 또 다른 잠재적 인 대안은 다음과 같습니다. http://fixlog.blogspot.com/2008/12/use-jquery-ajax-to-create-options-in.html – nihiser

0

<option><select>에 추가하면 각 추가시 DOM이 다시로드됩니다. 옵션이 많으면 속도가 매우 느려질 수 있습니다. <select> 전체를 해당 옵션과 함께 문자열로 작성한 다음 기존 옵션을 바꾸는 것이 더 효율적입니다.

관련 문제