2

こんにちは、私は JQM 1.3 と JQuery 1.9.1 を使用しています... まだ解決策がなくても、動的な selectmenu を動作させようとしています。

まず、pagebeforeshow イベントで createDocument(div...) と .setAttribute(id,...) を使用して selectmenu を作成します。次に、多くのバリエーションを使用して、最初の行、2 番目の行、および組み合わせました。

$("#select-keywords-list").selectmenu();
$("#select-keywords-list").selectmenu("refresh");

私にとってはまだ何も機能していません..

追加した後、変更イベントの Domready($(#page).ready) 関数でリッスンします。ブラウザでは非常にうまく機能しますが、電話では機能しません。誰かが私を助けてくれることを願っています。

ネイティブメニューのtrueとfalseも試してみました..

ありがとうございました

マル

4

2 に答える 2

0

テンプレートエンジンの方が簡単かもしれませんが、この方法を試しました

            function renderItemsKeywords(results) {
        var elementRoot = document.createDocumentFragment();
        var elementDiv = document.createElement("div");
        elementDiv.setAttribute("data-role", "fieldcontain");

        var elementL = document.createElement("label");
        elementL.setAttribute("for", "select-keywords-list");
        elementL.setAttribute("class", "select");
        elementL.appendChild(document.createTextNode("Wähle Eintrag:"));

        var elementSel = document.createElement("select");
        elementSel.setAttribute("name", "select-keywords-list");
        elementSel.setAttribute("id", "select-keywords-list");
        elementSel.setAttribute("data-native-menu", "true");

        var elementOptD = document.createElement("option");
        elementOptD.setAttribute("data-placeholder", "true");
        elementOptD.appendChild(document.createTextNode("Wähle Eintrag"));          
        elementSel.appendChild(elementOptD);

        var allKeywords = $().checkKeywords(results);

        $.each(allKeywords, function(i, item) {
            var elementOptAll = document.createElement("option");
            elementOptAll.setAttribute("value", item);
            elementOptAll.appendChild(document.createTextNode(item));
            elementSel.appendChild(elementOptAll);
        });

        //alert(elementSel.length());

        elementDiv.appendChild(elementL);   
        elementDiv.appendChild(elementSel);

        var elementDivKey = document.createElement("div");
        elementDivKey.setAttribute("id", "keylist");

        elementRoot.appendChild(elementDiv);
        elementRoot.appendChild(elementDivKey);

        return elementRoot;
    };

他の部分より

                           case 'keywords':

                html = renderItemsKeywords(itemData);

                $header.find("h1").html("Title");
                $content.html(html);
                $page.page();
                $footer.find(":jqmData(role=navbar)").navbar();
                $content.find(":jqmData(role=listview)").listview();


                $("#select-keywords-list").selectmenu();
                $("#select-keywords-list").selectmenu("refresh");
                break;
            }
            $.mobile.changePage($(this));

私が何をしているのか理解してくれることを願っています

于 2013-04-30T13:39:08.287 に答える