首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用来自多个输入的值填充AJAX?

如何用来自多个输入的值填充AJAX?
EN

Stack Overflow用户
提问于 2016-12-14 22:02:20
回答 2查看 1.6K关注 0票数 2

因此,我有一个AJAX函数,我想搜索每个具有特定类的元素,获取它的值并以正确的格式将它添加到AJAX中。这有可能吗?

我有一个AJAX函数:

代码语言:javascript
运行
复制
function sendOrders(button) {
    $.ajax({
        url: "external_file.php",
        method: "POST",
        data: {
            /*Here I need to add the data*/
            GameID: "'.$_SESSION['GameID'].'",
            Round: "'.$round.'",
            UserID: "'.$_SESSION['UserID'].'",
        }
    }).done(function( msg ) {
        $("#DEBUG").html(msg);
    }); 
};

我需要用class="order“从页面上隐藏类型的输入中收集数据。

我知道我可以用jquery逐类访问每个元素,但我不知道如何将属性添加到AJAX中,因为它已经编写好了。这些元素的数量是可变的,它们有非重复的ids,类是相同的。输入如下:

代码语言:javascript
运行
复制
<input class="order" type="hidden" name="some_name" id="some_id" value="some_value">

有人能帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-14 22:18:05

据我所知,您希望使用类顺序输入中获得的几个不同值进行ajax调用?

假设您只想从这些字段中添加值,那么您可以做一些非常简单的事情:

首先,使用附加的输入变量更新ajax函数,

代码语言:javascript
运行
复制
function sendOrders(button, val) {
$.ajax({
    url: "external_file.php",
    method: "POST",
    data: {
        value : val,
        GameID: "'.$_SESSION['GameID'].'",
        Round: "'.$round.'",
        UserID: "'.$_SESSION['UserID'].'",
    }
}).done(function( msg ) {
    $("#DEBUG").html(msg);
}); 
};

然后,要从所有“order”类输入中获取数据,可以使用Jquery的“each”函数。例如,如果希望从每个输入中获得值,则可以在每个函数中使用新的sendOrder函数:

代码语言:javascript
运行
复制
$('.order').each(function(){
    sendOrder(buttonId, $(this).val())
});

不太清楚在ajax函数中是如何使用“按钮”的,但我假设它与保存或提交按钮相关联,因此buttonId将是该按钮的id。这将使用类顺序迭代所有输入,并使用这些值进行ajax调用。

如果您使用该按钮作为提交,您可能可以从ajax函数中将其全部取出,并具有如下内容:

代码语言:javascript
运行
复制
function sendOrders(val) {
$.ajax({
    url: "external_file.php",
    method: "POST",
    data: {
        value : val,
        GameID: "'.$_SESSION['GameID'].'",
        Round: "'.$round.'",
        UserID: "'.$_SESSION['UserID'].'",
    }
}).done(function( msg ) {
    $("#DEBUG").html(msg);
}); 
};
$('#buttonId').click(function(){
    $('.order').each(function(){
        sendOrder(buttonId, $(this).val())
    });
 });
票数 0
EN

Stack Overflow用户

发布于 2016-12-14 22:29:01

创建数据对象,循环所有输入,并将值添加到对象。

代码语言:javascript
运行
复制
function sendOrders(button) {
    var data = {
        GameID: "'.$_SESSION['GameID'].'",
        Round: "'.$round.'",
        UserID: "'.$_SESSION['UserID'].'",
    };
    $(button).closest("form").find("input[type=hidden]").each(function() {
        data[this.name] = this.value;
    });
    $.ajax({
        url: "external_file.php",
        method: "POST",
        data: data
    }).done(function( msg ) {
        $("#DEBUG").html(msg);
    }); 
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41153006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档