【问题标题】:What is the easiest way to pass multiple variables in JQuery?在 JQuery 中传递多个变量的最简单方法是什么?
【发布时间】:2025-12-10 12:55:01
【问题描述】:

我有一个使用 JQuery Json 帖子的表单。我在页面上有 10 多个文本框。我有传递变量的唯一方式我知道...还有其他方法可以传递多个变量吗?

$('#nameSubmit').click(function() {
    var status = document.getElementById('Select2').value;
    var lob = document.getElementById('LOB').value;
    var lName = document.getElementById('LName').value;
    var fName = document.getElementById('FName').value;
    var city = document.getElementById('City').value;
    var state = document.getElementById('State').value;
    $.post("Home/LoadTable", { Status: status, LOB: lob, LName: lName, FName: fName, City: city, State: state }, function(data) {
        //...process code works 
    }, 'json');
});

编辑

我正在使用以下方法添加文本框和下拉列表...

<%using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "myForm" })) {%>
<td><%= Html.TextBox("LName")%></td>
<select name="Status" id="Select2"> 
    <option value="ALL">All Policies</option>             
    <option value="Active">Active</option>
    <option value="Cancelled">Cancelled</option>                                     
</select>
<% } %>

【问题讨论】:

  • 跟Java有什么关系?
  • @Lord.Quackstar..... 抱歉

标签: jquery asp.net-mvc json


【解决方案1】:

将文本框放在&lt;form&gt;标签内,然后使用jQuery的serialize方法。

<form id="myForm" action="javascript:void(0);">
    <input type="text" name="a" value="Input A" />
    <input type="text" name="b" value="Input B" />
    <input type="submit" value="Submit Form">
</form>

那么你可以这样做:

$('#myForm').submit(function(){
    $.post("Home/LoadTable", $('#myForm').serialize(), function(data){
        // code...
    },'json');
});

【讨论】:

  • 很抱歉。确实……谢谢!
【解决方案2】:

这几乎就是这样做的方法。您可以编写一个表单序列化程序来为您生成 json,但您仍要将生成的 json 传递给它。

【讨论】:

  • 谢谢...这对于 Html.Textbox 和 Drop downs 是一样的吗?见编辑
【解决方案3】:

以下代码将遍历所有文本框(但没有文本区域)并创建一个以 ID 作为键的对象。

$('#nameSubmit').click(function () {
    var obj = {};
    $("input:text", this.form).each(function () {
        obj[this.name] = this.value;
    });
    $.post("Home/LoadTable", obj, function (data) { /* */ }, 'json');
});

编辑:另一个人建议使用$().serialize(),在这个用例中,我强烈支持将其作为最佳答案。

【讨论】:

  • 谢谢...这对于 Html.Textbox 和 Drop downs 是一样的吗?见编辑
最近更新 更多