jQuery .html()不返回表单值

时间:2014-11-23 09:37:47

标签: jquery return

我的问题是.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,单选按钮,复选框,我搜索了很多。找不到上面的链接。

2 个答案:

答案 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;
&#13;
&#13;

请注意,serialize将值作为字符串返回,但您也可以使用serializeArray将它们作为JavaScript对象数组

答案 1 :(得分:0)

如果你想得到输入,文本框,区域的所有值选择..等..把它们放在表格中并使用serializeArray() api。你将获得所有jsonObject ..