Javascript 我做了一个定制。怎么样?
这是我的代码:Javascript 我做了一个定制。怎么样?,javascript,jquery,Javascript,Jquery,这是我的代码: $.fn.serializeArrayCustom = function(options) { options = options || { selectors: [ "input", "textarea", "select" ] }; // this object var that = $(this); // return value
$.fn.serializeArrayCustom = function(options) {
options = options || {
selectors: [
"input",
"textarea",
"select"
]
};
// this object
var that = $(this);
// return value
var retVal = [];
// string for jQuery selector
var sel_string = "";
// make string for selector
for(var i in options.selectors) {
sel_string += that.selector + " " + options.selectors[i] + ", ";
}
sel_string = sel_string.substring(0, sel_string.length - 2);
// select all tags in this object
var elem = $(sel_string);
// add result at "return value : retVal"
elem.each(function() {
var obj = $(this);
if(typeof(obj.attr("name")) != "undefined") {
retVal.push({"name" : obj.attr("name"), "value" : typeof(obj.attr("value")) != "undefined" ? obj.attr("value") : ""});
}
});
return retVal;
}
首先,对不起,我的英语很短
我之所以这样做是因为我想获取任何HTML标记的信息,而不是表单标记。
(适用于ASP.)
但是,此代码需要“name”和“value”属性
“options”(在我的代码中)应该是标记名称的数组,也可以是jQuery选择器。
(但如果无法使用方法“.val()”获取值,则无法收集信息)
默认值:
[
"input",
"textarea",
"select"
]
选项可以是:
[
"input[name='test']",
"select[name='can_use']",
...
]
此函数返回:
val = [{"name" : "(name_of_tags)", "value" : "(value_of_tags)"}],
...
我在Chrome中测试这段代码
请告诉我如何更改以使此代码更好。这似乎更适合于感谢您的评论!我不知道这个网站。。