добавить значение в выпадающий список - PullRequest
0 голосов
/ 29 февраля 2012

Я использую исходный код для множественного выбора

Выпадающий список

С тех пор, как был показан пример для статических значений, я отредактировал согласно моему требованию, и я пытался заполнить значения раскрывающегося списка с помощью базы данных, что означает динамическое заполнение значений в раскрывающемся списке. Но я не смог сделать. Пожалуйста, помогите мне. Раскрывающийся список будет заполнен в соответствии с параметром, выбранным из первого раскрывающегося списка

<select id="design" onmouseup="showOfficer()" >
 <option value="A">A</option>
 <option value="B">B</option>
 <option value="C">C</option>
 <option value="D">D</option>
 <option value="E">E</option>
 </select>

<select id="officers" class="officers" multiple="multiple"><div id="show_officer"></div></select>

мой JavaScript

<script language="javascript" >
function showOfficer(){
                        document.getElementById("msg4").style.display="block";
                       $.ajax({
                            url: 'getValues.jsp',
                            data: 'design_id='+ $('#design').val(),
                            type: 'post',
                            success: function(msg){document.getElementById("show_officer").innerHTML=msg;
                                document.getElementById("msg4").style.display="none";
                            }});
                    }
</script>

getValues.jsp

<%@include file="../dbconfig.jsp" %><%
String design=request.getParameter("design_id");
 String buffer="";
 try{
     int count=0;
 ResultSet rs = state.executeQuery("SELECT OFFICER_ID,FIRST_NAME,LAST_NAME FROM OFFICER WHERE STATUS_TYPE='UNASSIGN' AND DESIGN_ID='"+design+"'");//
   while(rs.next()){
   buffer=buffer+"<option value='"+rs.getString(1)+"'>"+rs.getString(2)+" "+rs.getString(1)+"</option>";
   count++;
   }
 if(count==0)
     {
  buffer=buffer+"<option value='ERROR'>OFFICERS ASSIGNED ALREADY</option>";
 }
 }
 catch(Exception e){
    buffer=buffer+"<option value='ERROR'>OFFICERS ASSIGNED ALREADY</option>"+e;
 }
 buffer=buffer+"";
 //out.print(buffer);
 response.getWriter().print(buffer);
 %>

Пожалуйста, помогите мне !!

1 Ответ

0 голосов
/ 01 марта 2012

Я думаю, это то, что вы ищете:

success: function(html){
    $("#msg4").hide();
    $("#officers").html(html);
    $("#officers").dropdownchecklist();
}

замените вашу функцию успеха на эту и возьмите div из вашего select.

Если вызагружаете jQuery, почему бы вам не использовать его не только для вызова ajax?

удалите onmouseup и попробуйте это:

$('#design').mouseup(function(){
    $("msg4").show();
    $.ajax({
            url: 'getValues.jsp',
            data: 'design_id='+ $('#design').val(),
            type: 'post',
            success: function(html){
                $("#msg4").hide();
                $("#officers").dropdownchecklist("destroy");
                $("#officers").html(html);
                $("#officers").dropdownchecklist();
            }
           });
});
...