2010-10-26 131 views
0

我想填充從JSON.parse()返回的Javascript對象的下拉列表。試過但不成功。請幫助
mvc JQuery JSON.parse()填充下拉列表

<script type="text/javascript" charset="utf-8"> 
<br /> 
    //This is returned from Model. All I want to put that in dropdown.<br /> 
    //var cat = JSON.parse('[{"Selected":false,"Text":"Blue","Value":"1"},{"Selected":false,"Text":"Red","Value":"2"},{"Selected":false,"Text":"Grey","Value":"3"},{"Selected":false,"Text":"Black","Value":"4"},{"Selected":false,"Text":"Green","Value":"5"},{"Selected":false,"Text":"Olive","Value":"6"},{"Selected":false,"Text":"Orange","Value":"7"},{"Selected":false,"Text":"Pink","Value":"8"},{"Selected":false,"Text":"Violet","Value":"9"},{"Selected":false,"Text":"Yellow","Value":"10"}]'); 

<br /><br /> 
    var cat = JSON.parse('<%= Html.ToJson(Model.Colors) %>'); 
<br /> 
</script> 
+0

你有沒有試過var cat = <%= Html.ToJson(Model.Colors)%>?它應該工作,那麼你不要使用JSON.parse() – jebberwocky 2010-10-26 05:42:25

+0

請小心,如果你填寫下拉與貓。我是新手,無法填寫下拉菜單。 – lordali 2010-10-26 05:51:01

回答

0

爲此,您可以通過下面的代碼,

HTML是,

<input type="button" id="btnclick" value="add" /> 

<select id="drpTemp"> 
</select> 

jQuery代碼是,

<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { 
     $("#btnclick").click(function() {    
      //This is returned from Model. All I want to put that in dropdown.<br /> 
      var cat = JSON.parse('[{"Selected":false,"Text":"Blue","Value":"1"},{"Selected":false,"Text":"Red","Value":"2"},{"Selected":false,"Text":"Grey","Value":"3"},{"Selected":false,"Text":"Black","Value":"4"},{"Selected":false,"Text":"Green","Value":"5"},{"Selected":false,"Text":"Olive","Value":"6"},{"Selected":false,"Text":"Orange","Value":"7"},{"Selected":false,"Text":"Pink","Value":"8"},{"Selected":true,"Text":"Violet","Value":"9"},{"Selected":false,"Text":"Yellow","Value":"10"}]');    
      var items = cat; 
      for (var i = 0; i < items.length; i++) { 
       var item = items[i]; 
       var optionhtml = '<option value="' + item.Value + '>' + item.Text + '</option>'; 
       $("#drpTemp").append(optionhtml); 
      } 
     }); 
    }); 
</script> 

它將填補下拉列表上按鈕單擊。