JQuery表示当表单中有数据时,表单元素为空

时间:2015-02-15 17:20:11

标签: javascript jquery datatable

我正在尝试检索动态创建的表单元素的值,以便将它们输入到数据表中。这就是我现在所拥有的 -

            $( document ).on( "click", ".save-modal", function() {
                var count = $('#sample_2').dataTable().fnSettings().aoData.length + 1;
                $('#sample_2').dataTable().fnAddData( [
                count,
                $('#locations-' + count + '-address1').val(),
                $('#locations-' + count + '-city').val(),
                $('#locations-' + count + '-state').val(),
                $('#locations-' + count + '-postal_code').val(),
                $('#locations-' + count + '-pickup_weight').val(),
                $('#locations-' + count + '-delivery_weight').val(),
                $('#locations-' + count + '-arrival_date').val(),
                "<a class=\"delete-row\" href=\"\">Delete<\/a>" ]
            );

            $('.new-modal').prop('href', '#responsive-' + (count + 1));

        }); 

        function create_modal(index){

            var modal = '<div id=\"responsive-' + index + '\" class=\"modal fade\" tabindex=\"-1\" data-width=\"840\" style=\"display: none;\">' +
                        '   <div class=\"modal-header\">' +
                        '       <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">' +
                        '           &times;' +
                        '       <\/button>' +
                        '       <h4 class=\"modal-title\">Add Location<\/h4>' +
                        '   <\/div>' +
                        '   <div class=\"modal-body\">' +
                        '       <div class=\"row\">' +
                        '           <div class=\"panel panel-default\">' +
                        '               <div class=\"panel-heading\">' +
                        '                   <i class=\"fa fa-external-link-square\"><\/i>' +
                        '                   Location - ' + index + '' +
                        '               <\/div>' +
                        '               <div class=\"panel-body\">' +
                        '                   <div class=\"row\">' +
                        '                       <div class=\"col-md-12\">' +
                        '                           <h4>General<\/h4>' +
                        '                           <hr>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Address <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-address1\" name=\"locations-' + index + '-address1\" class=\"form-control\" value=\"\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   City <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-city\" name=\"locations-' + index + '-city\" class=\"form-control\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   State <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-state\" name=\"locations-' + index + '-state\" class=\"form-control\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Zip Code <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-postal_code\" name=\"locations-' + index + '-postal_code\" class=\"form-control\"\>' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Arrival Date <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-arrival_date\" name=\"locations-' + index + '-arrival_date\" data-date-format=\"dd-mm-yyyy\" data-date-viewmode=\"years\" class=\"form-control date-picker\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                       <\/div>' +
                        '                   <\/div>' +
                        '                   <div class=\"row\"><hr><\/div>' +
                        '                   <div class=\"row\">' +
                        '                       <div class=\"col-md-12\">' +
                        '                           <h4>Receiver<\/h4>' +
                        '                           <hr>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Name <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-contact_name\" name=\"locations-' + index + '-contact_name\" class=\"form-control\"\>' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Phone <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-contact_phone\" name=\"locations-' + index + '-contact_phone\" class=\"form-control\"\>' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                       <\/div>' +
                        '                   <\/div>' +
                        '                   <div class=\"row\"><hr><\/div>' +
                        '                   <div class=\"row\">' +
                        '                       <div class=\"col-md-6\">' +
                        '                           <h4>Pickup<\/h4>' +
                        '                           <hr>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Weight <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-pickup_weight\" name=\"locations-' + index + '-pickup_weight\" class=\"form-control\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                       <\/div>' +
                        '                       <div class=\"col-md-6\">' +
                        '                           <h4>Delivery<\/h4>' +
                        '                           <hr>' +
                        '                           <div class=\"form-group\">' +
                        '                               <label class=\"col-sm-3 control-label\">' +
                        '                                   Weight <span class=\"symbol required\"><\/span>' +
                        '                               <\/label>' +
                        '                               <div class=\"col-sm-7\">' +
                        '                                   <input type=\"text\" id=\"locations-' + index + '-delivery_weight\" name=\"locations-' + index + '-delivery_weight\" class=\"form-control\">' +
                        '                               <\/div>' +
                        '                           <\/div>' +
                        '                       <\/div>' +
                        '                   <\/div>' +
                        '               <\/div>' +
                        '           <\/div>' +
                        '       <\/div>' +
                        '   <\/div>' +
                        '   <div class=\"modal-footer\">' +
                        '       <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-light-grey\">' +
                        '           Close' +
                        '       <\/button>' +
                        '       <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-blue save-modal\">' +
                        '           Add' +
                        '       <\/button>' +
                        '   <\/div>' +
                        '<\/div>'
            $("form").append(modal);
        }

我注意到如果我将一个警告声明放入save-modal动作,数据表将填充。这是代码 -

$( document ).on( "click", ".save-modal", function() {
    var count = $('#sample_2').dataTable().fnSettings().aoData.length + 1;
    alert('this statement will make the table populate correct');
    $('#sample_2').dataTable().fnAddData( [
        count,
        $('#locations-' + count + '-address1').val(),
        $('#locations-' + count + '-city').val(),
        $('#locations-' + count + '-state').val(),
        $('#locations-' + count + '-postal_code').val(),
        $('#locations-' + count + '-pickup_weight').val(),
        $('#locations-' + count + '-delivery_weight').val(),
        $('#locations-' + count + '-arrival_date').val(),
        "<a class=\"delete-row\" href=\"\">Delete<\/a>" ]
    );

    $('.new-modal').prop('href', '#responsive-' + (count + 1));

}); 

我还注意到,如果我将模态附加到“body”标签,那么我的数据表将正常工作。

有谁知道造成这种情况的原因是什么?

0 个答案:

没有答案