JqueryMobile获取有关Item Clicked的详细信息

时间:2014-05-30 05:03:58

标签: javascript jquery jquery-mobile

我有一个三级层次结构。前两个级别是可折叠的,而最后一个是列表。当我单击列表时,我必须传递有关单击列表项的数据以及其父级及其父级的名称。 我无法获得有关单击项目的数据.js代码(也在代码下方读取)

       var commodity;
       var variety;
       var grade;
       var content;

       var jsons ='[{"Turmeric":[{"Bulb":["Grade 2","Grade 1"]},{"Finger":["Grade
                                                                               1"]}]}]';



       var data = $.parseJSON(jsons);
       var nextId = 0;
       $.each(data, function(key, value){
           $.each(value, function(key, value){       //Runs for each commodity

                commodity = key;
                var data1 = value;

                 $(document).on("pageinit", function() {
                 nextId++;

                 content = "<div data-role='collapsible' data-collapsed-icon='arrow-r' 

         and data-expanded-icon='arrow-d' id='setk'><h3> " + commodity + "</h3><p>";

                $.each(data1, function(key, value){
                    $.each(value, function(key, value){
                      variety = key;

                content = content + "<div data-role='collapsible' data-collapsed-
  icon='arrow-r' and data-expanded-icon='arrow-d' id='setk'><h3> " + variety + "</h3>

   <p>"+

                 '<ul data-role="listview" id="noth">';

                  for(var i=0, len=value.length; i < len; i++){
                            grade = value[i];
                            invis = commodity+variety+grade;
                            content=content+'<li><a href="ext.html" id=commodity 
             onclick=senddata(?????) rel="external">'+grade+'</a></li>';
                                    }


                 content = content + '</ul>';




                 content = content + "</p></div>";
                           });
                                  });

                content = content +"</p></div>";

                  $("#set").append( content ).collapsibleset('refresh');    
                 $("#set").enhanceWithin();
                   });   

          });             
              });


    function senddata(data) {
     localStorage["1"] = data;
      alert(data);
        }

请不要:如果我给onclick方法提供等级或品种或商品的参数,它会发送这些不正确的最新更新值

1 个答案:

答案 0 :(得分:0)

有几点可以帮助你:

首先,您显然正在重复使用不需要触摸的变量:

$.each(data, function(key, value){
       $.each(value, function(key, value){       

内部$ .each()替换中的任何值。

其次,您不需要在循环中绑定pageinit事件;它会多次发射。 pageinit也已弃用。