jquery拼接ajax 的json和字符串拼接的方法
整理文檔,搜刮出一個(gè)jquery拼接ajax 的json和字符串拼接的代碼,稍微整理精簡(jiǎn)一下做下分享。
jQuery拼接字符串a(chǎn)jax
<form id="myForm" action="#">
<input name="name"/>
<input name="age"/>
<input type="submit"/>
</form>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
(function($){
$.fn.serializeJson=function(){
var serializeObj={};
$(this.serializeArray()).each(function(){
serializeObj[this.name]=this.value;
});
return serializeObj;
};
$('#myForm').bind('submit',function(e){
console.log($(this).serializeJson())
})
})(jQuery)
</script>
或者直接用$(“#表單id”).serialize()直接序列化。。。
上面的插件,不能適用于有多個(gè)值的輸入控件,例如復(fù)選框、多選的select。下面,我將插件做進(jìn)一步的修改,讓其支持多選。代碼如下:
Js代碼
(function($){
$.fn.serializeJson=function(){
var serializeObj={};
var array=this.serializeArray();
var str=this.serialize();
$(array).each(function(){
if(serializeObj[this.name]){
if($.isArray(serializeObj[this.name])){
serializeObj[this.name].push(this.value);
}else{
serializeObj[this.name]=[serializeObj[this.name],this.value];
}
}else{
serializeObj[this.name]=this.value;
}
});
return serializeObj;
};
})(jQuery);
這里,我將多選的值封裝為一個(gè)數(shù)值來(lái)進(jìn)行處理。如果大家使用的時(shí)候需要將多選的值封裝為“,”連接的字符串或者其他形式,請(qǐng)自行修改相應(yīng)代碼。
測(cè)試如下:
表單:
Html代碼
<form id=”myForm” action=”#”>
<input name=”name”/>
<input name=”age”/>
<select multiple=”multiple” name=”interest” size=”2″>
<option value =”interest1″>interest1</option>
<option value =”interest2″>interest2</option>
<option value=”interest3″>interest3</option>
<option value=”interest4″>interest4</option>
</select>
<input type=”checkbox” name=”vehicle” value=”Bike” /> I have a bike
<input type=”checkbox” name=”vehicle” value=”Car” /> I have a car
<input type=”submit”/>
</form>
測(cè)試結(jié)果:
{age: “aa”,interest: ["interest2", "interest4"],name: “dd”,vehicle:["Bike","Car"]}
<form id="myForm" action="#">
<input name="name" value="111"/>
<input name="age" value="2222"/>
<button type="submit">tijiao</button>
</form>
</body>
<script src="../js/jquery-1.11.0.min.js"></script>
<script>
var dataId = $("#myForm input").map(function (){
// return($(this).attr("id"));
return($(this).attr("name")+'='+$(this).val());
}).get().join("&");
alert(dataId);
</script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery css實(shí)現(xiàn)流程進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了jquery css實(shí)現(xiàn)流程進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
jQuery實(shí)現(xiàn)長(zhǎng)按按鈕觸發(fā)事件的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)長(zhǎng)按按鈕觸發(fā)事件的方法,可應(yīng)用于手機(jī)端應(yīng)用程序的開(kāi)發(fā)中,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
jQuery下通過(guò)$.browser來(lái)判斷瀏覽器.
用jQuery來(lái)判斷瀏覽器的類型,主要是使用$.browser這個(gè)工具類2011-04-04
jQuery綁定點(diǎn)擊事件與改變事件的方式總結(jié)及多個(gè)元素綁定多個(gè)事件
我們一說(shuō)到j(luò)Query中對(duì)于元素的修改,就是元素的內(nèi)容、屬性、樣式的修改,下面這篇文章主要給大家介紹了關(guān)于jQuery綁定點(diǎn)擊事件與改變事件的方式總結(jié)及多個(gè)元素綁定多個(gè)事件的相關(guān)資料,需要的朋友可以參考下2022-12-12
Javascript 鏈?zhǔn)秸{(diào)用實(shí)現(xiàn)代碼(參考jquery)
謂的鏈?zhǔn)秸{(diào)用無(wú)非是一個(gè)語(yǔ)法技巧而已,我就學(xué)Jquery寫(xiě)了一個(gè)粗淺的庫(kù)。2010-05-05
jQuery的live()方法對(duì)hover事件的處理示例
一個(gè)模仿懸停事件的方法,當(dāng)鼠標(biāo)移動(dòng)到一個(gè)匹配的元素上面時(shí),會(huì)觸發(fā)指定的第一個(gè)函數(shù)2014-02-02
Jquery插件easyUi實(shí)現(xiàn)表單驗(yàn)證示例
這篇文章主要介紹了Jquery插件easyUi實(shí)現(xiàn)表單驗(yàn)證示例,需要的朋友可以參考下2015-12-12

