Я борюсь с изменением кода, который у меня есть, который динамически создает поле выбора на основе значений столбцов из списка sharepoint.Динамическое создание класса выбора
в данный момент код:
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:
<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>
То, что я пытаюсь достичь, чтобы получить его, чтобы произвести отборный класс так Я могу применить его к стороннему стилю выбора selectbox, например bootstrap select. поэтому он должен выглядеть следующим образом:
<select class="selectpicker" id= "filterFieldSub_Category">
<option>(all)</option>
<option>(empty)</option>
<option>test</option>
</select>
Я не уверен, с чего начать, так что если кто-то может мне точку в правильном направлении, которое будет огромная помощь :)
вы можете добавить под '$ (" # diidFilter "+ internalName) .attr (" onchange ", '');' нечто вроде '$ (" # diidFilter "+ internalName) .removeAttr (" value ");' , [вы можете прочитать еще кое-что о .removeAttr() здесь.] (https://api.jquery.com/removeAttr/), чтобы начать, но вы можете захотеть создать способ создания элемента DOM из данные приносят с вызовом ajax ... Можете ли вы опубликовать данные, полученные им, чтобы мы могли видеть, как это организовано. –