2017-07-02 51 views
1

您好,我正在使用web服務和ajax調用綁定我的級聯下拉列表,但我無法獲得代碼後面的第一個下拉列表的選定值。 。無法從aspx頁面將下拉選定值獲取到後端

這是我的代碼

$(document).ready(function() { 
       var groups = $('#ddlGrpName'); 
       var docs = $('#ddlDoctors'); 

       //var getval = $('#ddlGrpName').val(); 
       //var anothrva = $('#ddlDoctors').val(); 

       $.ajax({ 
        url: 'Dataservice.asmx/GetGroups', 
        method: 'post', 
        dataType: 'json', 
        success: function (data) { 

         groups.append($('<option/>', { value: -1, text: 'select Group' })); 
         docs.append($('<option/>', { value: -1, text: 'select Doctor' })); 
         docs.prop('disabled', true); 
         $(data).each(function (index, item) { 
          groups.append($('<option/>', { value: item.id, text: item.name })); 

          $('#<%=hdnGroupid.ClientID%>').val(item.id); 

         }); 

        } 


       }); 

       groups.change(function() { 
        if ($(this).val() == "-1") { 
         docs.empty(); 
         docs.append($('<option/>', { value: -1, text: 'select Doctor' })); 
         docs.val('-1'); 
         docs.prop('disabled', true); 
        } 

        else { 
         $.ajax({ 
          url: 'Dataservice.asmx/GetGroupsid', 
          method: 'post', 
          data: { groupID: $(this).val() }, 
          dataType: 'json', 
          success: function (data) { 
           docs.empty(); 
           docs.append($('<option/>', { value: -1, text: 'select Doctor' })); 
           docs.prop('disabled', false); 
           $(data).each(function (index, item) { 
            docs.append($('<option/>', { value: item.id, text: item.pname })); 

            $('#<%=hdnDoctorid.ClientID%>').val(item.id); 
           }); 

          } 


         }); 
        } 

       }); 


      });`` 

下拉值約束力,但沒有能夠得到降的設定值的下降,同時節省在數據庫中。 這是兩個級聯下降我正在獲取第二個下拉的值,當我採取一個隱藏的領域,但是當我檢查與第一個下拉相同的方式我只獲得相同的值,但下拉選定的值更改每當我改變下降其不發生

請幫忙??

回答

0

的問題是在這裏:

data: { groupID: $(this).val() } 
在AJAX調用上下文

使用this關鍵字不會捕捉到下拉列表中,您將需要$(this).val()結果groups.change事件存儲在一個變量Ajax調用外面再在ajax調用中使用該變量來發送值。

因此改變它像:

groups.change(function() { 

    var groupId = $(this).val(); 
    .................. 
    .................. 
    $.ajax({ 
     .......... 
     ........... 
     data: { groupID: groupId } 
     ........... 

希望它能幫助!

+0

沒有兄弟它不工作......這些值我無法獲得和綁定在代碼後面 – Jones

0

嘗試這種

$(function() { 
     $(groups).change(function() { 
      var group = $('option:selected', $(this)).val(); 
      if ($(group).val()==」-1」){// -1 selected} else {//blah} 
     }); 
    });