2017-12-14 4 views
0

こんにちは、私はListboxの値をajaxコールを使ってチェックボックスコントロールで埋めようとしています。Ajaxコールを使用してMVCのチェックボックス付きリストボックスを塗りつぶす

しかし、リストボックスにデータを入力することはできません。ビューで

:Html.ListBoxFor @

(M => m.City、新しいSelectListの(新しい[] { ""})、新たな{ID = "cmbCity"、@style =「幅:100pxに;」})コントローラ内

$(document).ready(function() { 
    $('#cmbCity').multiselect({ 
     includeSelectAllOption: true, 
     enableFiltering: true  
    }); 

    $('#btnShowCity').on('click', function() {  
     $.ajax({ 
      url: '../CN/Get_City', 
      cache: false, 
      type: 'post',    
      success: function (data) { 
       data = JSON.parse(data); 
       $("#cmbCity").html(""); 
       $.each($.parseJSON(data.result_City), function (i, city) { 
        $("#cmbCity").append 
         ($('<option>         </option>').val(city.ID).html(city.Name)) 
       }) 
       $('#cmbCity').multiselect('refresh'); 
      } 
     }) 
}); 

[HttpPost]

public string Get_City() 
{ 
    clsDAL objclDAL = new clsDAL(); 

    DataTable _resultDataset =FillDataTable("SELECT [ID], Name FROM City");  
    return JsonConvert.SerializeObject(new { result_City = _resultDataset }); 
} 

K indly私にいくつかの提案

+0

を与える(ちょうどあなたの '$をコメントアウトすることから始めるあなたは、リストボックスのためのjQueryプラグインを使用しているように見えるので、あなたは、データを更新するには、そのメソッドを呼び出す必要がありますオプションがロードされていることを確認するコード( '#cmbCity')、マルチセレクション({...}) 'コード(コントローラコードは意味がありません - ' result_City'の内容やそのプロパティを知りません) –

+0

スティーブン、私はコントローラのコードを編集しました – Pravin

+0

まだ意味をなさない - それもコンパイルされません! 'var jsonData ...'コード行は何ですか? 'jsonData'は決して使用しません。そして、 'return ...'コード行は、存在しない 'result_City'を参照します。 –

答えて

0

$.each($.parseJSON(data.result_City), function (i, city) { 
 
      $("#City").append($('<option></option>').val(city.ID).html(city.Name)) 
 
}); 
 

 
//--------mvc code block 
 
//@Html.ListBoxFor(m => m.City, new SelectList(new[] { "" }), new { @style = "width: 100px;" }) 
 
//delete id = "cmbCity" because your id ="Name" and name="Name"

+0

私はすでにコードを変更しました。データはリストボックスで埋め尽くされていますが、リストを取得できません。私が選択したすべてを選択すると、リストボックスのレコード数が表示されます – Pravin

関連する問題