javascript - AJAX返回jquery循环html div

标签 javascript jquery ajax

我有下面的 HTML 从 Ajax 成功返回,到目前为止我一直在尝试做但没有成功的是循环遍历 div 获取 div id,然后一旦用户单击,就在 jquery 对话框上为每个创建一个按钮按钮,div 内的 HTML 将应用于表单。

下面的代码可以工作,但我必须过滤掉每个按钮的内容,但 div 的数量并不总是相同,一个人可能没有,另一个人有 5 个

我尝试使用jquery.each

我认为有人会知道如何循环思考这些 div 并为每个 div 创建一个按钮变量

HTML

<div class="target" id="1" >
        <p id="A1">04:00</p>
        <p id="A2">15:00</p>
        <p id="A3">00:16</p>
        <p id="A4">2</p>
        <p id="A5">10</p>
        <p id="A6">2</p>
        <p id="A7">10.73</p>
        <p id="A8">430.01</p>
        <p id="A9">0</p>
        <p id="NS">0</p>
        <p id="A10">0</p>
        <p id="A11" >0.73</p>
        <p id="B1" >448</p>
        <p id="B2" >found</p>
</div>
<div class="target" id="2" >
        <p id="A1">05:00</p>
        <p id="A2">13:00</p>
        <p id="A3">00:25</p>
        <p id="A4">3</p>
        <p id="A5">10</p>
        <p id="A6">2</p>
        <p id="A7">7.58</p>
        <p id="A8">263.71</p>
        <p id="A9">0</p>
        <p id="NS">0</p>
        <p id="A10">0</p>
        <p id="A11" >0.00</p>
        <p id="B1" >447</p>
        <p id="B2" >found</p>
</div>
<div class="target" id="3" >
        <p id="A1">05:00</p>
        <p id="A2">12:00</p>
        <p id="A3">01:00</p>
        <p id="A4">3</p>
        <p id="A5">06</p>
        <p id="A6">2</p>
        <p id="A7">6.00</p>
        <p id="A8">265.62</p>
        <p id="A9">0</p>
        <p id="NS">0</p>
        <p id="A10">0</p>
        <p id="A11" >0.00</p>
        <p id="B1" >446</p>
        <p id="B2" >found</p>
</div>

JQUERY

   success:function(html){

var button1 = {
     text: "Edit "+$($(html).filter('#1').html()).filter('#A1').text(),click: function() {
                                var start = $($(html).filter('#1').html()).filter('#A1').text();
                                $("#start").val(start);
                                var finish = $($(html).filter('#1').html()).filter('#A2').text();
                                $("#finish").val(finish);
                                var breaktime = $($(html).filter('#1').html()).filter('#A3').text();
                                $("#break").val(breaktime);
                                var grade = $($(html).filter('#1').html()).filter('#A4').text();
                                $("#grade").val(grade);
},
var button2 = {
     text: "Edit "+$($(html).filter('#2').html()).filter('#A1').text(), click: function() { 
                                var start = $($(html).filter('#2').html()).filter('#A1').text();
                                $("#start").val(start);
                                var finish = $($(html).filter('#2').html()).filter('#A2').text();
                                $("#finish").val(finish);
                                var breaktime = $($(html).filter('#2').html()).filter('#A3').text();
                                $("#break").val(breaktime);
                                var grade = $($(html).filter('#2').html()).filter('#A4').text();
                                $("#grade").val(grade);
},
          }

最佳答案

在这种情况下,最好使用对象来定义数据。这样做应该会让您在处理数据方面变得更加轻松。清理完你的代码后,我想出了以下对象,它只需要你将 html 作为字符串传递给它,并为你的目标传递 id 选择器。我不是 100% 肯定这会立即生效,但它应该可以。这是 fiddle也进行演示

var dataObject = function(html, id) {
    this.start = $(html).find(id).find('#A1').text();
    this.finish = $(html).find(id).find('#A2').text();
    this.breaktime = $(html).find(id).find('#A3').text();
    this.grade = $(html).find(id).find('#A4').text();
};

要实例化它并获取数据,只需执行以下操作

var button = new dataObject(html, "#1");
var temp_start = button.start
var temp_finish = button.finish

此做法在 mozilla developer network 中有深入解释。

关于javascript - AJAX返回jquery循环html div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24522200/

相关文章:

javascript - Imgflip 在图像 map 上,但保留 map 坐标

javascript - jQuery 全局/本地事件执行顺序

javascript - 如何检查字符串中的值?

javascript - 禁止访问该服务器

javascript - 进行多个 AJAX 调用的快速方法

javascript - 在javascript计时器中更改字体颜色

javascript - 使用 setTimeout 延迟循环迭代

javascript - 如何设置 data-id 属性

javascript - 触发点击事件时选择父项?

jquery - Wordpress Ajax 重新加载更新的查询变量