javascript - jQuery 序列化所选选项的值,而不是标签

标签 javascript php jquery ajax serialization

我有一个选择控件:

<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=Category 1

有没有办法告诉函数发送值,如下所示: up.php/?AdditionalCategory=1

最佳答案

它应该可以正常工作,但是您的 HTML 表单中有一个小错误,即 <option> 的结束标记。你有的是 </value>应该是</option>相反。

检查下面的工作代码:

$(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>

关于javascript - jQuery 序列化所选选项的值,而不是标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845806/

相关文章:

javascript - 更改fabricJs中 "hasControls"的边框大小

javascript - Chrome 扩展 : Make it run every page load

javascript - 如何在php中将日期和时间格式化为CRON格式?

php - 从 postgresql 获取树结构数据

javascript - 复选框的屏蔽标签 - 正确的方法?

javascript - 在 Angular JS 中使用 ng-class

JavaScript 函数参数

javascript - 如何在php中拆分数组并传递给javascript变量?

javascript - JQuery 从字符串中的标签中提取值

javascript - jQuery - 将列表项的元素 move 到同一项目的另一个元素内+对列表中的每个项目执行此操作