填充下来框对很多朋友来说so easy。直接拼装 option html 即可。
那么小弟只能再次画蛇添足了。为广大码有提供loadSelect 方法。不足之处多多指出。
废话不说,直接上代码。
/*****************************************
* File: jquery.loadselect.js
* Version: 1.0.0.
* Author: vincent
*
* This options ,you can extends it "defaultval","defaulttext","data" field.
* Not only you can format your data contains "val" & "text" attrs,but also you can order
* your val & text linked field in you data.
*
* eg: options {defaultval : "", defaulttext :"", data : {val : "",
* text : ""} }
*
*/
(function($) {
var defaults = {
hasDefaultoption : true,
defaultoption : {
val : "0",
text : "Please Select",
},
val : "val",
text : "text"
}, settings = {
// data : [{val:value, text:txt}]
};
$.fn.loadSelect = function(options) {
var select = $(this);
if (!select.is('select') ) {
return;
}
settings = $.extend(true, {}, defaults, options);
select.html('');
if(settings.hasDefaultoption){
if(settings.defaultoption.hasOwnProperty("val")){
var defaultoption = "<option value='"+settings.defaultoption.val+"'>"+settings.defaultoption.text+"</option>";
select.append(defaultoption);
}
}
if(!settings.hasOwnProperty("data")){
return ;
}
var datas = settings.data;
if(datas && datas.length>0){
for ( var int = 0; int < datas.length; int++) {
var valtype = settings.val,
texttype = settings.text;
if(!datas[int].hasOwnProperty(valtype)){
break;
}
var option = "<option value='"+$(datas[int]).attr(valtype)+"'>"+$(datas[int]).attr(texttype)+"</option>";
select.append(option);
}
}
return true;
};
})(jQuery);
有问题请大家提出。尊重版权,请引用的朋友注明出处!