js 获取页面上所有相同名字的文本框 并传入ajax

    xiaoxiao2021-12-14  20

    可以将多个同name属性控件的值组合成一个json数组或数组字符串,传到java后台后再序列化成json数组,取出数据。以下是测试代码: <input name="test" type="text" value="test1"/> <input name="test" type="text" value="test2"/> <input name="test" type="text" value="test3"/> <input name="test" type="text" value="test4"/> <input name="test" type="text" value="test5"/> <input id="submit" type="button" value="异步提交"/> <script language="javascript" type="text/javascript" > $("#submit").click(function () { //将多个同name的值组成一个json数组字符串 var jsondata = "["; $("[name=test]").each(function () { jsondata += '{"value":"' + this.value + '"},'; }); //去掉最后一个"," var reg = /,$/gi; jsondata = jsondata.replace(reg, ""); jsondata += "]"; alert(jsondata); //ajax提交数据 $.post("test.action", { "test": jsondata }, function (result) { alert(result) }); }); </script> 第二种方法 <input name="test" type="text" value="test1"/> <input name="test" type="text" value="test2"/> <input name="test" type="text" value="test3"/> <input name="test" type="text" value="test4"/> <input name="test" type="text" value="test5"/> <input id="submit" type="button" value="异步提交"/> var button = $("#submit"); button.click(function(){ var ret = []; var inputs = $("input[name='test']"); inputs.each(function(){ var me = $(this); ret.push(me.val());//保存value到一个数组中 }); $.ajax({ url : "", data : { name:'test', values:ret.join(',') //将数组用指定字符合并成一个字符串 }, method : "post", dataType : "json", success : function(data){ } }); });
    转载请注明原文地址: https://ju.6miu.com/read-971877.html

    最新回复(0)