提问者:小点点

jQuery序列化选定选项的值,而不是标签


我有一个选择控件:

<select name="AdditionalCategory">
  <option value="1">Category 1</option>
  <option value="2">Category 2</option>
</select>

然后使用jQuery发送AJAX请求,序列化表单:

$.post("../../d/up.php",$("#main").serialize(),
          function(data){

但是,例如,如果我选择类别1,则serialize()函数序列化标签,而不是选项的值。因此请求将为up.php/?additionalcategory=category1

有没有一种方法告诉函数发送值,像这样:up.php/?additionalcategory=1


共1个答案

匿名用户

它应该工作得很好,但在HTML表单中有一个小错误,即的结束标记是,而应该是

检查下面的工作代码:

null

$(function() {

  $("#but").click(function() {
    console.log($("#main").serialize());
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="main">
  <select name="AdditionalCategory">
  <option value="1" selected>Category 1</option>
  <option value="2">Category 2</option>
</select>
</form>

<button id="but">Click me</button>