私は今、何度も繰り返されているコードのブロックの例を持っています。
$(function(loadDatabyClickA){
$('button').live('click', function(){
selectedAgeType = $(this).attr('value');
var x = {};
x.data = $('a').attr("data"); //selected item in tree (.liselected)
x.command = $('a').attr("cmd");
x.option = "x";
x.sessionid = docCookies.getItem("sessionid");
x.ageType = selectedAgeType;
x.showData = showUnderlyingData;
var action = function(result, status) {
var x_list = "";
$.each(result, function(i, val){
x_list += "<li><h3>"+val.xtitle+"</h3></li>";
});
$('#x_view').append(x_list);
};
$.post("jsoncommand", JSON.stringify(chart), action)
.error(function(){
alert('error');
});
})
})
別の関数からアクセスできるように、このブロックを抽出するにはどうすればよいですか? 多分使用するのが好き.extend()
ですか?このブロックは、次のような他の関数で使用されます。
$(function(loadDatabyClickB){
$('button2').live('click', function(){
selectedAgeType = $(this).attr('value');
var y = {};
y.data = $('a').attr("data"); //selected item in tree (.liselected)
y.command = $('a').attr("cmd");
y.option = "y";
y.sessionid = docCookies.getItem("sessionid");
y.ageType = selectedAgeType;
y.showData = showUnderlyingData;
var action = function(result, status) {
var y_list = "";
$.each(result, function(i, val){
y_list += "<li><h3>"+val.ytitle+"</h3></li>";
});
$('#y_view').append(y_list);
};
$.post("jsoncommand", JSON.stringify(y), action)
.error(function(){
alert('error');
});
})
})
手がかりがないので、これを行う方法のヒントを教えてください。私はそれを自分で単純化します。よろしくお願いします。