(function ($) {
$.fn.extend({
showselect: function (id, data) {
if ($.isArray(id)) return this.getselect(0, id);
if (!$.isArray(data)) {
alert("select 数据获取失败!");
return false;
}
if (id == 0) return this.getselect(data);
var arr = new Array();
arr.length = 0;
var pid = id;
var doi = -1;
while (pid != doi) {
doi = pid;
for (var i = 0; i < data.length; i++) {
if (data[i][0] == pid) {
pid = data[i][2];
arr.push([pid, data[i][0]]);
}
}
}
for (var i = 0; i < arr.length; i++) {
this.getselect(arr[arr.length - 1 - i][0], data, arr[arr.length - 1 - i][1]);
if (i == arr.length - 1) this.getselect(arr[arr.length - 1 - i][1], data);
}
},
getselect: function (pid, data, selectedid) {
if (typeof pid == "undefined") pid = 0;
if (typeof selectedid == "undefined") selectedid = 0;
if ($.isArray(pid)) return this.getselect(0, pid);
var arr = new Array();
arr.length = 0;
if(data){
for (var i = 0; i < data.length; i++){
if (data[i][2] == pid)
arr.push("<option value=\"" + data[i][0] + "\"" + (data[i][0] == selectedid ? " selected=\"selected\"" : "") + ">" + data[i][1] + "</option>");
}
$(this).append(arr.length > 0 ? this.toselect(arr.toString()) : "");
this.bindchange(this, data);
}
},
toselect: function (strOption) {
return "<select id=\"" + $(this).attr("id") + "select" + ($(this).find("select").length + 1) + "\"><option value=\"0\">请选择</option>" + strOption + "</select>";
},
bindchange: function (t, d) {
$(this).find("select").unbind("change").change(function () {
$(t).find("select:gt(" + $(this).index() + ")").remove();
if ($(this).val() == 0) return false;
var val = $(this).val();
$.get('ajax.php?mod=getTaskSub&code=getsubcate',{'t_id':$(this).val()},function(data1){
if(data1){
var resData1 = eval("("+data1+")");
var sel = t.getselect(val, resData1);
$(this).after(sel);
t.bindchange(t, d);
}
},'text');
$('input[name="c_id"]').val($(t).find("select:last").val());
});
}
});
})(jQuery);
js省市联动
最新推荐文章于 2023-05-31 17:03:30 发布