Js数组pop(移除数组中的最后一个元素),push(添加到最后),unshift(添加到开头),splice(从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素),shift(移除数组中的第一个元素并返回该元素)方法
首先对combobox进行绑定,是通过异步来绑定
function loadlist() {
var jasons = eval('(' + '<%=firstjoson %>' + ')');//从后台获得jason数据
jasons.unshift({ "ConfigValue": "-1", "ConfigName": "请选择" });//插入一条,为第一列
$('#first').combobox({
data: jasons,
valueField: 'ConfigValue',
textField: 'ConfigName',
onSelect: function (record) { //在用户选择列表项的时候触发
var Getdata = { method: "SecondProfessional", firstid: record.ConfigValue };//异步请求
// alert(record.ConfigValue);
$.ajax({
type: "get",
url: location.href,
data: Getdata,
dataType: "json",
success: function (data) {
//alert(data[0].ConfigValue);
data.unshift({ "ConfigValue": -1, "ConfigName": "请选择" });
$('#second').combobox({
data: data,
valueField: 'ConfigValue',
textField: 'ConfigName',
value: -1
});
}
});
}
});
}
修改的时候有2种方法来动态活的编辑的值(主要因为2级要异步请求)
方案一: 使用队列的方法
//模拟队列
// $body = $('#AddWindowForm')
// $body.queue('mx', LoadExideComboxFirst);
// var promise = $body.promise('mx');
// promise.done(LoadForm);//最后执行的方法
// setInterval(function () {
// $body.dequeue('mx') // 先进先出
// }, 220);
//模拟队列 end
//先加载一级联动,二级也会加载出来
function LoadExideComboxFirst() {
var json = '<%=modelJson%>';
var data = eval('(' + json + ')');
$('#first').combobox('select', data['YiJiZhuanYe']); //$('#first').combobox('setValue', '-1');setValue不会触发onselect事件
}
//绑定from里面的值
function LoadForm() {
var json = '<%=modelJson%>';
var data = eval('(' + json + ')');
$('#first').combobox('select', data['YiJiZhuanYe']);
}
方案二: 等所有的方法加载完之后再加载LoadForm()方法
就用 window.οnlοad=LoadForm;