简化重复的javascript

时间:2013-11-09 15:54:32

标签: javascript jquery ajax

我是javascript的新手。我知道有简化功能的方法,但我还没有。还有一些我尚未学到的东西,所以我希望你们能给我指路。这是一个不断重复的块。

var chart       =   {};

chart.data      =   $('.liselected').attr("data"); //selected item in tree (.liselected)
chart.command   =   $('.liselected').attr("cmd");
chart.option    =   "chart";
chart.sessionid =   docCookies.getItem("sessionid");
chart.ageType   =   selectedAgeType;
chart.showData  =   showUnderlyingData;

var display     =   function(result, status) {
    var chart_list  =   "";
    $.each(result, function(i, val){
        chart_list  += "<li><h3>"+val.charttitle+"</h3><img data='"+val.largechart+"'src='"+val.smallchart+"' /><p>"+val.chartcaption+"</p></li>";
    });

    $('#chart_view').append(chart_list);
};

$.post("jsoncommand", JSON.stringify(chart), display)
.error(function(){
    $('#viewer').html("<div class='error'><p><span>ERROR</span>We're sorry, but there seems to be a problem retrieving the data.</p></div>");
});

这是另一个使用相同内容的块。

var tree        =   {};

tree.data       =   $(this).attr("data");
tree.command    =   $(this).attr("cmd");
tree.option     =   "tree";
tree.sessionid  =   docCookies.getItem("sessionid");


var action = function(result, status) {
    var tree_list   =   "";
    $.each(result, function(i, val){
        tree_list   +=  "<li><a class='newList generatedList' href='#' title='"+val.name+"' cmd='"+val.command+"' data='"+JSON.stringify(val)+"'>"+val.name+"</a></li>";
    });

    $(e.target).parent().append('<ul style="display: none;"/>');
    $(e.target).next('ul').append(tree_list);
    $(e.target).next('ul').slideDown("fast");
};

$.post("jsoncommand", JSON.stringify(tree), action)
.error(function(){
    $('#viewer').html("<div class='error'><p><span>ERROR</span>We're sorry, but there seems to be a problem retrieving the data.</p></div>");
});

它会在接下来的几个函数中再次重复。这不是一个真正的问题,因为我仍然可以使用它,但我想了解简化它的方法,以便我可以更好地编码。非常感谢提前!

0 个答案:

没有答案