1

mysql データベースで ajax 呼び出しを使用してリスト bbui イメージを作成しようとしていますが、その過程で私のコードに従って、bbui リストのイメージと同じ形式を取得できません。

var idmember='glut1';
    function dataOnLoad_initialLoad(element) {
        var listItem, dataList = element.getElementById('dataList');
        $.ajax({
            type: "GET",
            url: "ajax/history.php?id_member=" + idmember,
            dataType: "json",
            error: function(xhr, settings, exception) {
                alert("error");
            },
            success: function(data){
                $.each(data, function(key, val) {
                    listItem = document.createElement('div');
                    listItem.setAttribute('data-bb-type', 'item');
                    listItem.onclick = function() {
                        bb.pushScreen('detail.htm', 'detail');
                    };
                    listItem.setAttribute('data-bb-title', val.tglorder);
                    listItem.innerHTML = val.namastatus;
                    dataList.appendChild(listItem);

                    var order = val.idorder;
                });
            }
        });
    }

次に、このコードのように beforedetail.html に実装されたコード

<div id="dataList" data-bb-type="image-list" data-bb-images="none" data-bb-style="arrowlist">
    </div>

ここに画像の説明を入力

4

2 に答える 2

0

リストアイテムのタイトルを取得することに関して私が抱えていた問題に関して、リスト選択関数を呼び出して解決し、選択したアイテムのgetTitleに作用しました。コード

listItem.onclick = function(){
var selected = document.getElementById('dataList').selected;
 console.log(selected.getAttribute('dressup'));
}

私が以前に間違っていたのは、イメージリストではなくアイテム自体で選択したアイテムを取得しようとしたことです。

于 2014-03-26T08:59:23.803 に答える
0

同様の問題がありましたが、私のケースは、アイテムをグループ化するためのヘッダーを持つ画像リストを生成することでした。

私が知っている唯一の方法でそれを行いましたが、それは機能しましたが、より良い方法についての提案は受け付けています.

jsコードは次のとおりです。

var listItem, header,
    dataList = document.getElementById('dataList');// this is my list already in the DOM

var list = [];
var user = localDB.getScreenName();
$.ajax({
    url: reg.api(),
    data: {action: 'getAttire', formData: user},
    type: 'post',
    dataType: 'jsonp',
    jsonp: false,
    jsonpCallback: 'result',
    beforeSend: function() {
        document.getElementById('indicator').style.display = 'block';
    },
    complete: function() {
        document.getElementById('indicator').style.display = 'none';
    },
    success: function(res) {
        //showbList();
        var title = [];

        for (var i = 0; i < res.length; i++) {
            if ($.inArray(res[i].item, title) === -1) {
                title.push(res[i].item);//creates header array with unique values cos i had headers with duplicate names
            }
            //  This creates header Array from the list
        }
        for (var k = 0; k < title.length; k++) {
            header = document.createElement('div');
            header.setAttribute('data-bb-type', 'header');
            header.id = 'headers';
            header.innerHTML = title[k];
            header.style.background = '#f6f6f6';
            header.style.fontSize = '20px';
            header.style.fontWeight = 'bold';
            // header.style.boxShadow = ''
            list.push(header);//header created here
            for (var i = 0; i < res.length; i++) {
                if (header.innerHTML === 'Bag' && res[i].item === 'Bag') {
                    //var date = 
                    listItem = document.createElement('div');
                    listItem.setAttribute('data-bb-type', 'item');
                    listItem.setAttribute('data-bb-img', res[i].img_link);
                    listItem.setAttribute('data-bb-title', res[i].name);
                    listItem.setAttribute('data-bb-accent-text', 'Added: '+jQuery.timeago(res[i].date));
                    listItem.setAttribute('dressup',res[i].DRESS_ID);
                    listItem.setAttribute('id','wardropeLink');
                    listItem.innerHTML = "Suited for: " + res[i].suited;
                    listItem.style.color = "#fff";
                    listItem.onclick =  function() {
                    var selected = document.getElementById('wardropeLink').getTitle();
                    console.log(selected); // trying to get d title of a selected or clicked list but it returns the whole group. still working on it
                };
                list.push(listItem); //list item for a particular header created here
            }
            if (header.innerHTML === 'Trousers' && res[i].item === 'Trousers') {
                listItem = document.createElement('div');
                listItem.setAttribute('data-bb-type', 'item');
                listItem.setAttribute('data-bb-img', res[i].img_link);
                listItem.setAttribute('data-bb-title', res[i].name);
                listItem.setAttribute('data-bb-accent-text', jQuery.timeago(res[i].date));
                listItem.innerHTML = "Suited for: " + res[i].suited;
                listItem.style.color = "#fff";
                listItem.onclick = function() {
                    handleWardrope.listItems(res[i].DRESS_ID);
                };
                list.push(listItem);
            }

        }
    }

    var items = dataList.getItems();
    if (items.length > 0) {
        //list.insertItemBefore(item, items[0]);
    } else {
        dataList.refresh(list);//list added to DOM
        if (bb.scroller) {
            bb.scroller.refresh();
        }
    }


}
});
return false;

お役に立てれば。

警告し、特定のリスト項目に対して onclick 関数を動作させようとしていますが、ループの cos をグループ化しているようです。

于 2014-03-26T08:17:22.290 に答える