如何在更改表单时仅提交单个选择框的值

How to submit only the value of a single select box on a form when changed?

本文关键字:单个 提交 选择 表单      更新时间:2023-09-26

我正在研究一个项目,该项目加载项目列表,用户需要能够更改该项目列表的属性。

基本上我有50个选择框在一个表单上预装的选择。我只想提交用户选择更改的选择框的值。我知道我知道我需要使用on change属性并提交它。但是,我如何只提交单个元素更改的值呢?

OnChange使用Ajax使用GET将选择框的值发送到端点。

假设使用Jquery(但可以使用任何库或原生JS)

一些肮脏的代码(时间限制)让你开始:

var selVal = $("#myselect").val();   
$.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    url: "url-that-will-handle-the-data",
    data: '{ "param1": selVal }',
    success: function (msg) {
        alert(msg.d);
    }
});

一种快捷的方法是将每个单独的选择框包装在它们自己的表单元素中,每个表单都有一个独特的POST操作。

更简洁的方法是使用一个隐藏表单,其中包含用户更改的selectBox的隐藏字段和用户更改的值的隐藏字段。工作流程将是:用户更改选择框->更新隐藏字段->提交隐藏表单。