2012-05-22 28 views
0

我正在使用以下tutorial作为指南在jQuery手机中创建拆分按钮列表。我需要将数据和处理程序绑定到每个按钮(在给定的列表元素内)。下面我概述了三种方法,其中没有一种似乎可行。任何人都可以告诉我如何绑定分割按钮列表的数据?数据绑定拆分按钮列表jQuery Mobile

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); 
} 
+0

  • 按钮1个按钮2个
  • +0

    感谢您的响应!我对urs_data的实现有点困惑?你愿意外推一点吗?特别是这段代码如何适合for循环以及数组数据如何与urs_data相关联? –

    回答

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

    变种HTML = ''; 为(I = 0;我< = singleArray.length - 1;我++){

    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);

    }