У меня есть простая функция Javascript/jQuery, которая получает все мои данные из базы данных SQLite и вводит результаты на мою HTML-страницу. Все хорошо, но перед значениями поля базы данных стоит NaN. Он появляется в любом поле базы данных, которое я запрашиваю, и пытаюсь внедрить его в свой HTML. Если я напечатаю значение поля с помощью console.log(), NaN не появится. Вот мой сценарий. Под скриптом мой HTML

var GetContactsSQL = function () {  


    var db = window.sqlitePlugin.openDatabase({ name: "Contacts" });

    db.transaction(function (tx) {

        tx.executeSql('SELECT * FROM PROFILE', [], function (tx, res) {

            var len = res.rows.length;
            for (var i = 0; i < len; i++) {



                jQuery("#ContactSQL").append( 

                    + "<div class='row'><div class='col-xs-12'><div class='form-group'>"

                    + "<div class='infoRapper_c'>"

                    + "<div class='infoRapper-pad_c'>"

                    + "<table><tr><td class='phonetd1_c'>"

                    + "<p>" + res.rows.item(i).fname + ' ' + res.rows.item(i).lname + "</p>"

                    + "<span class='glyphicon glyphicon-earphone mylittlephone_c'> </span>"

                    + "<a class='phoneNumber_c' href='tel:" + res.rows.item(i).phone + "'>"

                    +  res.rows.item(i).phone    + "</a>"

                    + "</td><td class='phonetd2_c'>"

                    + "<table ng-click='getDetails()'>"

                    + "<tr class='phonetd2_table_tr1_c'><td class='phonetd2_table_td1_c'>"

                    +  res.rows.item(i).data_origin + "</td></tr>"

                    + "<tr class='phonetd2_table_tr2_c'><td class='phonetd2_table_td2_c'>>>></td></tr>"

                    + "<tr class='phonetd2_table_tr3_c'>"

                    + "<td class='phonetd2_table_td3_c'>"

                    + "<a id='firstRecord'></a><a id='lastRecord'></a>"

                    + "</td></tr></table></td></tr></table></div></div></div></div></div>"

                    );

            };


        }, function (e) {
            console.log("some error getting");
        });


    });

};

   //*********************************************************
     <div class="margin-Left">
       <div class="row">
        <div class="col-xs-12">
            <table class="headerTable_c">
                <tr>
                    <td rowspan="1" class="headerTable_td1_c">
                        <div class="input-group">
                            <h1>
                                <small><em>Saved</em></small><span class="h1searchTitle_L_c"> SQL Contacts  </span>
                            </h1>
                        </div>
                    </td>
                        <td rowspan="2" class="headerTable_td2_c"><img src="images/logo.png" class="logoSearch_L_c" alt="DOR LOGO" width="40"></td>

                    </tr>
                    <tr>
                        <td colspan="1" class="headerTable_td3_c"></td>

                    </tr>
            </table>
        </div>
    </div> 
            <div id="ContactSQL"></div>

    <div class="panel-footer"><hr /></div>
</div>
-1
jmoneilthe2 12 Авг 2015 в 17:27
Я обновил свой javascript. Я пропустил часть закрывающих скобок. Проблема все еще сохраняется.
 – 
jmoneilthe2
12 Авг 2015 в 18:08

2 ответа

Вам необходимо добавить:

    }, null);
 });

Перед

 //*********************************************************
     <div class="margin-Left">

Поскольку вы не закрываете tx.executeSql и db.transaction

0
MaximeK 12 Авг 2015 в 17:36

Я узнал свой собственный вопрос. Сначала я использовал знак +:

JQuery("#ContactSQL").Добавить(

                + "<div class='row'><div class='col-xs-12'><div class='form-  group'>"

Удалив первый знак + и добавив первую строку непосредственно в .append(исправил проблему.

0
jmoneilthe2 12 Авг 2015 в 18:21