我的问题是.html()
我得到了一个链接,帮助了50%的问题。
jquery html() does not return changed values
$("input").each(function(){
$(this).attr("value", $(this).val());
});
$("select").each(function(){
$(this).find('option[value='+$(this).val()+']').attr("selected", "selected");
});
它有效,但只返回输入值。我怎么做textareas,单选按钮,复选框,我搜索了很多。找不到上面的链接。
答案 0 :(得分:2)
只需使用jQuery' s serialize()
function:
$("#myform").serialize();
示例(请注意,只有选中该复选框才会添加该复选框)
var result = $('#res'),
btn = $('#mybutton');
btn.on('click', function() {
var data = $('#myform').serialize();
result.text(data);
});

* {
font-family: Ubuntu, sans-serif;
}
label {
display: block;
margin: 5px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform">
<label for="text-input">example Text Input</label>
<input type="text" name="text-input" id="text-input" />
<label for="textarea">example Textarea</label>
<textarea name="textarea" id="textarea"></textarea>
<label for="checkbox">example Checkbox</label>
<input type="checkbox" name="checkbox" id="checkbox">
</form>
<br>
<button id="mybutton">Serialize!</button>
<br>
<div id="res"></div>
&#13;
请注意,serialize将值作为字符串返回,但您也可以使用serializeArray将它们作为JavaScript对象数组
答案 1 :(得分:0)
如果你想得到输入,文本框,区域的所有值选择..等..把它们放在表格中并使用serializeArray() api。你将获得所有jsonObject ..