【问题标题】:AJAX POST Send Multiple DIV valueAJAX POST 发送多个 DIV 值
【发布时间】:2018-09-19 09:33:55
【问题描述】:

我想发送我动态生成的 DIV 项目,但我不明白该怎么做

我动态创建我的 div:

$("#clt_forf_ti").click(function(e){
            e.preventDefault();
            if(x < max_input){
                x++;
                var addDIV = $('<div id="clt_forf_div'+x+'" class="w-100 form-control" ><label for="clt_forf_num'+x+'">Ligne :</label> <input type="text" class="font-weight-bold border-top-0 border-right-0 border-left-0 mR-10" id="clt_forf_num'+x+'" autocomplete="off" style="width: 100px" > Forfait : <i id="clt_forf_forf_select'+x+'" style="display:none;"></i><input type="text" class="border-top-0 border-right-0 border-left-0" id="clt_forf_forf'+x+'" autocomplete="off" style="width: 180px"><i class="ti-calendar mL-20 mR-5"></i><input type="text" class="border-top-0 border-right-0 border-left-0" id="clt_forf_date_start'+x+'" name="datepicker" placeholder="Début" style="width: 80px"><i class="ti-calendar mL-20 mR-5"></i><input type="text" class="border-top-0 border-right-0 border-left-0" id="clt_forf_date_end'+x+'" name="datepicker" placeholder="Fin" style="width: 80px"><i id="clt_forf_ti_remove" class="ti-close c-red-500 mL-5" style="cursor: pointer;"></i></div>');

                $('#clt_forf_bloc').append(addDIV);
                $('#clt_forf_forf'+x, addDIV).autocomplete(autocomp_opt);
                $("input[id^='clt_forf_date']", addDIV).datepicker(datepick);
                //$('#clt_forf_date_end'+x, addDIV).datepicker(datepick);
            }
        });

我想通过 ajax 发送每个值:

var data = {
                op_clt_forf_ref: $("[id^='clt_forf_forf_select']").html(),
                op_clt_forf_num: $("[id^='clt_forf_num']").val(),
                op_clt_forf_start: $("[id^='clt_forf_date_start']").val(),
                op_clt_forf_end: $("[id^='clt_forf_date_end']").val(),
                op_clt_forf_nom: $("[id^='clt_forf_forf']").val(),
            };

但是他只带我第一个 div 而不是其他的,

你能帮我吗?

【问题讨论】:

    标签: ajax post multiple-value


    【解决方案1】:

    您创建的元素之前没有出现在 DOM 中。所以不能直接针对他们。 尝试这样做:

    var data = {
                op_clt_forf_ref: $('body #clt_forf_forf_select').html(),
                op_clt_forf_num: $('body #clt_forf_num').val(),
                op_clt_forf_start: $('body #clt_forf_date_start').val(),
                op_clt_forf_end: $('body #clt_forf_date_end').val(),
                op_clt_forf_nom: $('body #clt_forf_forf').val(),
            };
    

    【讨论】:

    • 我的 PHP 代码从 AJAX 接收数据,它将如何接收数据,例如: op_clt_forf_ref 知道会有几个 op_clt_forf_ref、op_clt_forf_ref2、op_clt_forf_ref3 等......你看到了吗? :)
    • 抱歉没听懂
    • 例如,当我单击“添加”时,我有一个新的 div:&lt;div id="op_clt_forf_ref"&gt;&lt;/div&gt;,当我再次单击时,我有:&lt;div id="op_clt_forf_ref2"&gt;&lt;/div&gt; 在我的var data = {op_clt_forf_ref= $("???")} 中我不知道该放什么自动获取创建的两个 DIV
    • 哦!好的。现在我明白了
    • :) :) 你能帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2015-07-07
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    相关资源
    最近更新 更多