0

次のチュートリアルをガイドとして使用して、jQuery モバイルで分割ボタン リストを作成しています。データとハンドラーを各ボタン (特定のリスト要素内) にバインドする必要があります。以下に 3 つのアプローチを概説しましたが、どれもうまくいかないようです。分割ボタンリストのデータをバインドする方法について誰かアドバイスしてもらえますか?

function createSingleList(dataArray) {
var i;
var list = $("<ul></ul>");
for (i = 0; i <= singleArray.length - 1; i = i + 1) {
    var button1 = $('<div><a id="button1" href="">Button 1</a><div>');
    var button2 = $('<div><a id="button2" href="">Button 2</a><div>');

    //Approach 1
    button1.data("data", dataArray[i])
    button2.data("data", dataArray[i])

    //Approach 2
    $("#button1").bind("click", {
        data: dataArray[i]
    }, clickHandler1);

    $("#button2").bind("click", {
        data: dataArray[i]
    }, clickHandler2);

    //Approach 3
    $("#button1").on("click", {
        data: dataArray[i]
    }, clickHandler1);

    $("#button2").on("click", {
        data: dataArray[i]
    }, clickHandler2);

    var listElement = $('<li></li>').html($(button1.html() + button2.html()));

    list.append(listElement);
   }
}

function clickHandler1(e) {
   alert(e.data);
}

function clickHandler2(e) {
   alert(e.data);
}
4

1 に答える 1

0
var list = $('<ul data-split-icon="some_icon"></ul>');

var html = ''; for (i = 0; i <= singleArray.length - 1; i++) {

var param1 = "'"+ dataArray[i] +"'";
html += '<li><a href="#" onclick="clickHandler1('+param1+')"></a>Button 1<a href="#" onclick="clickHandler2('+param1+')"></a>Button 2 </li>';

}

list.append($(html));

$('<ul>').trigger('create');

function clickHandler1(e){

アラート(e);

}

于 2012-05-23T02:39:00.900 に答える