2013-04-25 2 views
0

Привет, я использую Cascading Dropdown с помощью JQuery в asp.netJQuery - каскадирование выпадающего списка Не обязательные значения?

Мой webMethod получает вызов, iam получает результат, но значения не получают привязки.

вот мой код

if ($(".ddlService").val() != "") { 
       $.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        url: "Port.aspx/VCode_Get", 
        data: "{ServiceID:'" + $(".ddlService").val() + "'}", 
        dataType: "html", 
        success: function (html) { 
         try {       
          Success(html); 
         } catch (ex) { 
          alert("ErrCode:7"); 
         } 
        }, 
        error: function (msg) { 
         alert("ErrCode:8"); 
        } 
       }) 
       return false; 
      } 
      else { 
        $(".ddlVoyage").empty(); 
        $(".ddlVoyage").append("<option value=''>Select </option>"); 
       } 
     }); 
    }); 

    function Success(result) { 
     alert("SUccess Called"); 
     $(".ddlVoyage").empty(); 
     $(".ddlVoyage").append("<option value=''>Select </option>"); 

     $.each(data, function (index, result) { 
      $(".ddlVoyage").append("<option value='" + result.VoyageMasterID + "'>" + result.VoyageCode + "</option>"); 

     });   
    } 

IAM получать оповещения

предупреждение ("УСПЕХ Called");

и к targent Dropdown РМКО Получение значения Выберите привязку к нему, но значения не получают связывания

И со значениями в моей базе данных тоже ..,

Я думаю, что что-то нужно быть изменились в этом 2 линии, где РМКО ударило

$.each(data, function (index, result) { 
      $(".ddlVoyage").append("<option value='" + result.VoyageMasterID + "'>" + result.VoyageCode + "</option>"); 

И не получает представление о том, как связать эти значения выбрать, Im ударили здесь, Может кто-нибудь, пожалуйста, помогите.

ответ

0

я думаю, что ваш являются обязательными для HTML, в неправильном направлении ..

..<option value='" + result.VoyageMasterID + "'>"... 
        //--^^^^^^^^^^^^^^^^---here looks like you have a response as JSON.. 

попробовать этот

$.ajax({ 
     type: "POST", 
     ... 
     dataType: "json", //here get response as json 
     ..... 
     }); 

и убедитесь, что вы отправить ответ как JSON в контроллере (который я думаю, что вы уже делаю это) .. изменение DATATYPE, как JSON должен работать ..

обновленный

ваш JSON

{ "Table": [ { "VoyageMasterID": 3, "VoyageCode": "9101" }, { "VoyageMasterID": 3, "VoyageCode": "9101" }]}    

попробовать этот

function Success(result) { 
    alert("SUccess Called"); 
    $(".ddlVoyage").empty(); 
    $(".ddlVoyage").append("<option value=''>Select </option>"); 

    $.each(result.Table, function (index, value) { 
     $(".ddlVoyage").append("<option value='" + value.VoyageMasterID + "'>" + value.VoyageCode + "</option>"); 

    });   
} 

, так как вы JSON в массив объектов .. Вы должны перебрать result.Table (имя вашего объекта является таблица) и получить его correspoding voyagemasterid и voyagecode

+0

большой разницы с небольшим изменением, как я изменился в Json IAM не получаю ошибку, а также IAM получать привязку данных, но как «Undefined» Не точные значения –

+0

ок. .. undefined .. потому что вы результат json doesnot content 'result.VoyageMasterID' .. проверьте свой ответ в консоли и можете ли вы показать мне вашу структуру JSON – bipen

+0

это мой Json Result {" Table ": [{" VoyageMasterID ": 3, «VoyageCode»: «9101»}, {«VoyageMasterID»: 3, «VoyageCode»: «9101»}]} –

0

Попробуйте

$(".ddlVoyage").append("<option value='" + value.Value + "'>" + value.Text + "</option>"); 

Это, как я использую его

$('#offices').change(function() { 
      $.ajax({ 
       url: '@Url.Action("FillDepartments", "Contact")', 
       type: 'POST', 
       cache: false, 
       data: { id: $(this).val() }, 
       dataType: 'json', 
       success: function (departments) { 
        $.each(departments, function (i, departments) { 
         $("#departments").append('<option value=' + departments.Value + '>' + departments.Text + '</option>') 
        }); 
       }, 

       error: function (error) { 
        alert(errorss); 
       } 
      }); 
     }); 
Смежные вопросы