Xadmin2級(jí)聯(lián)動(dòng)

需求:課程分類需要2級(jí)聯(lián)動(dòng)


課程分類

父類別需要根據(jù)課程分類等級(jí)進(jìn)行篩選。

xadmin以插件的形式加入級(jí)聯(lián)功能:

1.新建linkagefilter.py文件,目錄如下


2.linkagefilter代碼


注冊(cè)進(jìn)xadmin插件

3.在__init__.py中追加插件


注冊(cè)插件

4.xadmin.self.select.js書(shū)寫(xiě)


js文件路徑

代碼:

$('#id_category_grade').change(function () {

var category_grade =$('#id_category_grade').find('option:selected').val();//獲取父級(jí)選中值

? ? ? ? $('#id_parent')[0].selectize.clearOptions();// 清空子級(jí)

? ? ? ? $.ajax({

type:'get',

url:'/select/coursecategory/?category_grade=' +category_grade,

data:'',

async:true,

beforeSend:function (xhr, settings) {

xhr.setRequestHeader('X-CSRFToken','{{ csrf_token }}')

},

success:function (data) {

data =JSON.parse(data.coursecategorys)//將JSON轉(zhuǎn)換

? ? ? ? ? ? ? ? for (var i =0;i < data.length;i++) {

var test = {text: data[i].fields.name,value: data[i].pk,$order:i +1};//遍歷數(shù)據(jù),拼湊出selectize需要的格式

? ? ? ? ? ? ? ? ? ? console.log(test)

$('#id_parent')[0].selectize.addOption(test);//添加數(shù)據(jù)

? ? ? ? ? ? ? ? }

},

error:function (xhr, textStatus) {

console.log('error')

}

})

})

js中selectid如何得到:html源碼中直接可以得到。xadmin select生成規(guī)則:id + model.fieldname

5. adminx.py中配置開(kāi)關(guān)開(kāi)啟


開(kāi)啟插件開(kāi)關(guān)

6.書(shū)寫(xiě)view,配置url


view書(shū)寫(xiě)

url參照js請(qǐng)求配置。

運(yùn)行xadmin后臺(tái),完成課程分類級(jí)聯(lián)效果。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容