2014-09-28 91 views
0

我得到的響應形式Api和我動態創建SELECT控件與選項。動態綁定值到jQuery multiselct控件顯示單選按鈕

這是我的HTML

  <select id="resourceviewstop"></select> 

我循環反應在Javascript如下

  $.each(response, function (index, item) { 
      $('<option value="' + item.Id+ '">' + item.Description + '</option>').appendTo('#resourceviewstop'); 
      }); 

普通下拉將被創建,如下圖所示。

enter image description here

現在我想申請多選到使用jQuery插件,多選

 $('#resourceviewstop').multiselect({ 
       includeSelectAllOption: true 
     }); 

enter image description here

產生下拉選擇,但我看到單選按鈕而不是複選框。我怎樣才能在這裏獲得複選框?

EDITED

如果我硬編碼選項,然後它會來的複選框:(但我從Json的獲取數據,並且不能硬編碼。產生

HTML,這是我從開發工具抓起

enter image description here

+0

includeSelectAllOption:真的嗎? – 2014-09-28 06:56:42

+0

我做了includeSelectAllOption:true,我仍然收到單選按鈕:(編輯帖子。 – iShareHappyCode 2014-09-28 06:57:47

+0

我會拿出jsfiddle等待plz。 – 2014-09-28 07:00:47

回答

1

多選有add new option一種特殊的方式items.You必須添加多選(「刷新」),以使您的新選項:

這裏是如何添加值:(http://jsfiddle.net/csdtesting/mpy72gyf/

var el = $('#resourceviewstop').multiselect({ 
     header:false, 
     includeSelectAllOption: true 
    }); 
var newItem = $('#newItem'); 
var opt = opt = $('<option />'); 
    $("#add").click(function(){ 
     var v = newItem.val(), opt = $('<option />', { 
      value: v, 
      text: v 
     }); 
     opt.appendTo(el); 
     el.multiselect('refresh'); 
    }); 

所以,你必須改變追加操作:

$.each(response, function (index, item) { 
    var opt = $('<option />', { 
       value: item.Id, 
       text: item.Description 
      }); 
      opt.appendTo(el); 
      el.multiselect('refresh'); 
      }); 

希望這有助於!

Revisioned解決問第一卷:http://jsfiddle.net/csdtesting/mpy72gyf/1/

VOL2 http://jsfiddle.net/mpy72gyf/2/

+0

@iShareHappyCode。你必須把你的功能放在下拉元素el像http://jsfiddle.net/csdtesting/mpy72gyf/1/ – 2014-09-28 09:38:12

+0

好吧,讓我試試並更新你,謝謝 – iShareHappyCode 2014-10-04 06:20:10

+0

它在點擊ev的作品ent但不在裏面for循環 – iShareHappyCode 2014-10-04 07:49:34