gpt4 book ai didi

jquery ajax问题

转载 作者:行者123 更新时间:2023-12-01 08:28:57 26 4
gpt4 key购买 nike

几天前我发布了这个问题:switch statement and loops using jquery/javascript
最终我使用这段代码创建了一系列 div

  for (var i = 1; i <= $("#play option:selected").text(); ++i) {
$("#play_"+i).slideDown().find("input").addClass("someClass");
}

我的问题是我现在需要获取每个 #play div 的值并通过 ajax 将其发送到 php 脚本。如果我有一定数量的 div,我可以轻松做到这一点,但是当我不知道会有多少 #play 时我该怎么做?

进一步描述!

看来我在最初的问题中没有清楚地解释自己,所以我会尝试更好地解释事情。
我想使用 $.post jQuery 方法对远程 php 脚本进行 AJAX 调用。我可以非常轻松地发送远程脚本所需的信息。这是一个例子:

     $("#submit").click(function() {
$.post("../includes/process.php",
{
play_0: $("#play\_0").val(),
play_1: $("#play\_1").val(),
play_2: $("#play\_2").val(),
play_3: $("#play\_3").val(),
play_4: $("#play\_4").val()
},
function(data) {
$("#activityWindow").empty().append(data);
});
});

PHP 脚本现在可以通过 $_POST 数组访问此信息 - 就像普通的表单提交一样。
如果我使用循环生成了 div (#play_),则无法按照上面的方式对 $.post 方法进行硬编码。实际上,我需要在语法中的某个地方包含一个循环 - 我只是不知道如何做到这一点!我希望这能让事情变得更清楚。

最佳答案

jQuery 有一个 attribute startsWith选择器,然后您可以轻松地循环它们来创建您的对象...

// Create an empty object
var data = {};

// Get all <div> elements that have an id attribute that starts with "play_"
var divs = $("div[id^=play_]");

// Loop through the <div> elements, using jQuery's each function
divs.each(function() {
// Get the current div we are looping with jQuery
var div = $(this);

// Get the ID of the current div
var id = div.attr("id");

// Get the value of the current div
var val = div.html();


// Object properties can be set dynamically like this in Javascript
data[id] = val;
});

// Loop is done, all properties have been set
alert(data.play_0);

关于jquery ajax问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1179535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com