2016-12-02 2 views
0

J'ai du code qui extrait des valeurs d'une liste et construit un menu de sélection déroulant à utiliser comme filtre. J'essaie de faire en sorte que le menu select soit rendu par chosen.js mais j'ai un problème pour le rendre correctement. Il apparaît pendant une fraction de seconde puis revient à la valeur par défaut. Le code que j'ai est comme suit:.Initialisation du numéro js choisi

$(document).ready(function() { 
$(".chosen-select").chosen({ 

    no_results_text: "Oops, nothing found!", 
    width: "200px" 
}); 

listID = '{e14db630-4d13-4349-9153-dc3d9128ca9b}'; 

var viewID = '{692ED354-A7C8-42FA-B780-CC71B5A6748D}'; 
//load paramsvar 
allVars = $().SPServices.SPGetQueryString(); 
var filterFieldsParams = ""; 
$.each(allVars, function(objKey, objValue) { 
    if (objKey.substr(0, 11).toLowerCase() == "filterfield" || objKey.substr(0, 11).toLowerCase() == "filtervalue") { 
     filterFieldsParams += "&" + objKey + "=" + objValue; 
    } 
}); 

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("").append($("<div></div>").append(data).find("select")); 
      $('#diidFilter' + internalName).addClass('chosen-select'); 



      $("select[class=chosen-select] option:first").text("Filter By Sub Category"); 
      $("select[class=chosen-select] option:first").attr('disabled', 'disabled'); 
      //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); 
      }); 
     } 
    }); 
} 

getAjaxFilter("Sub Category", "Sub_Category"); 

}); 

Répondre

0

J'ai trouvé la réponse - en déplaçant le $ («choisie-select ») choisi ({partie du après le succès: fonction (données) {

le est réglé le problème :)