2016-11-25 4 views
1

私は、共有ポイントリストの列の値に基づいて選択ボックスを動的に作成するいくつかのコードの変更に苦労しています。現時点では選択クラスを動的に作成する

コード:

<div id="filterFieldSub_Category"> 
Sub Category 
<select title="Filter by Sub_Category" id="diidFilterSub_Category"> 
    <option>(All)</option> 
    <option>(Empty)</option> 
    <option value="Test">Test</option> 
</select> 

私は何を達成しようとしているが、それはそう選択したクラスを生成するために取得することです:

function getAjaxFilter(name, internalName) { 
$.ajax({ 
    url: $().SPServices.SPGetCurrentSite() + '/_layouts/filter.aspx?ListId=' + listID + '&FieldInternalName=' + internalName + '&ViewId=' + viewID + '&FilterOnly=1&Filter=1' + filterFieldsParams, 
    success: function(data) { 

     $('#filterField' + internalName).html(name).append($("<div></div>").append(data).find("select")); 
     //clear current onChange event 
     $("#diidFilter" + internalName).attr("onchange", ''); 
     // add change event 
     $("#diidFilter" + internalName).change(function() { 
      FilterField(viewID, internalName, encodeURIComponent(this.options[this.selectedIndex].value), this.selectedIndex); 
     }); 
    } 

は、次のHTMLを作成します。私はそれをブートストラップセレクトのようなサードパーティのセレクトボックススタイラに適用することができます。誰もが大きな助けになり、右方向に私を指すことができので、もし私が、どこから始めればわからない

<select class="selectpicker" id= "filterFieldSub_Category"> 
<option>(all)</option> 
<option>(empty)</option> 
<option>test</option> 
</select> 

:)

+0

'$("#diidFilter "+ internalName).attr(" onchange "、 '');' $( "#diidFilter" + internalName)のようなもの.removeAttr( "value"); ' 、[あなたはここで.removeAttr()についてもっと詳しく読むことができます。](https://api.jquery.com/removeAttr/)を開始しますが、DOM要素を作成する方法をデータはajaxコールを持ってきます...データを投稿することができますので、どのように構成されているかを見ることができます。 –

答えて

0

あなたがクラスを追加することができます。だから、のように見える必要がありますaddClass()

$("#diidFilter" + internalName).addClass('selectpicker'); 

希望すると便利です。

+1

本当にありがとうございました!まだまともに動作していませんが、私は間違いなく近づいています:) 編集!実際には今働いてください。再度、感謝します! – RScott

関連する問題