jquery динамические флажки с передачей данных и мобильным представлением - PullRequest
1 голос
/ 11 февраля 2012

Я нахожусь в мобильном приложении и хочу создать динамический список флажков, который передает некоторые данные другой функции.Я хочу, чтобы этот список флажков выглядел как мобильное приложение

http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-checkboxes.html

, а не как простые ссылки ...

вот мой код

        for (i = 0; i < len; i += 1) {
            row = resultflatname.rows.item(i);

            if (row.flatdescription == flatdescription) {
                if (row.receiptno == 0){
                        items.push('<input type="checkbox" name="code_'+ i +'" id="code_'+ i +'" value="' + row.amount + '" previous="' + row.pastpayments + '" barcode="' + row.barcode + '" todayp="' + row.todaypayments + '"/><label for="code_'+ i +'">' + row.period +'..........'+ row.amount+'</label></br>');
                allbarcode[i] = row.barcode;
                previouspayments = previouspayments + row.pastpayments;
                previouspayments = previouspayments.toFixed(2);
                sofeilon = sofeilon + row.amount;
                sofeilon = sofeilon.toFixed(2);
                total = total + row.amount - row.pastpayments;
                total = total.toFixed(2);

                } else {

                if ((row.receiptno > 0) && (row.todaypayments < row.amount - row.pastpayments)){
                        items.push('<input type="checkbox" name="code_'+ i +'" id="code_'+ i +'" value="' + row.amount + '" previous="' + row.pastpayments + '" barcode="' + row.barcode + '" todayp="' + row.todaypayments + '"/><label for="code_'+ i +'">' + row.period +'..........'+ row.amount+'</label></br>');
                allbarcode[i] = row.barcode;
                previouspayments = previouspayments + row.pastpayments;
                previouspayments = previouspayments.toFixed(2);
                sofeilon = sofeilon + row.amount;
                sofeilon = sofeilon.toFixed(2);
                total = total + row.amount - row.pastpayments;
                total = total.toFixed(2);

                }
                }
            }
            list.html(items.join('\n'));

        }

1 Ответ

0 голосов
/ 11 февраля 2012

Вместо того, чтобы помещать элементы привязки в массив и соединять их, оборачивайте их в элемент списка перед тем, как помещать в массив:

items.push('<li><input type="checkbox" name="code_'+ i +'" id="code_'+ i +'" value="' + row.amount + '" previous="' + row.pastpayments + '" barcode="' + row.barcode + '" todayp="' + row.todaypayments + '"/><label for="code_'+ i +'">' + row.period +'..........'+ row.amount+'</label></li>');

Затем, когда вы присоединяетесь к своей таблице, добавьте открытие <ul>и закрывающие теги:

list.html('<ul data-role="listview">' + items.join('') + '</ul>').trigger('create');

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2.Прошло много времени с тех пор, как я использовал .trigger('create'), поэтому я не могу вспомнить, можете ли вы вызвать его для родительского элемента (что я вполне уверен, что вы можете) или вам придется выбирать новый элемент <ul> перед вызовом .trigger('create'):

list.html('<ul data-role="listview">' + items.join('') + '</ul>').children().trigger('create');
...