我正在努力修改一些代码,根据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>
我想要实现的是让它生成一个选择类,这样我就可以将它应用到第三方选择框样式器,如bootstrap select。所以它需要看起来像:
<select class="selectpicker" id= "filterFieldSub_Category">
<option>(all)</option>
<option>(empty)</option>
<option>test</option>
</select>
我不知道从哪里开始,所以如果有人能指出我正确的方向,这将是一个巨大的帮助:)
答案 0 :(得分:0)
您可以使用addClass()
添加课程:
$("#diidFilter" + internalName).addClass('selectpicker');
希望这有帮助。