際際滷

際際滷Share a Scribd company logo
京粥遺悪京或鰻掘.干皆で珂閣遺兵めませんか
13定7埖25晩直袗晩
13定7埖25晩直袗晩
13定7埖25晩直袗晩
ぱくたそo創亟寔殆可を聞喘しております。ありがとうございます ?http://www.pakutaso.com/about.html
13定7埖25晩直袗晩
13定7埖25晩直袗晩
$(function(){
// menu燕のデ`タを函誼
$.ajax({
url:'/assets/g/q/B/s/gqBsC',
dataType: 'json',
}).done(function( menuList ) {
// メニュ`燕の恬撹
var $menuTable = $('#menu');
_.each( menuList, function( item, idx){
var $tr = $('<tr>');
$menuTable.append( $tr);
var $chk = $('<input type="checkbox" />').data({
"idx":idx,
"name":item.name,
"price":item.price});
$tr.append( $('<td>').append( $chk))
.append( $('<td>').text( item.name))
.append( $('<td>').text( item.price));
});
// イベントの函り原け
$menuTable.on('click','input[type=checkbox]',function(event){
13定7埖25晩直袗晩
$tr.append( $('<td>').append( $chk))
.append( $('<td>').text( item.name))
.append( $('<td>').text( item.price));
});
// イベントの函り原け
$menuTable.on('click','input[type=checkbox]',function(event){
var $selectedMenuTable = $('#selected-menu');
$selectedMenuTable.empty();
var sum=0;
var $inputs = $menuTable.find('input[type=checkbox]');
$inputs.each( function( ){
var $input = $(this);
if ( $input.prop('checked') ){
var data = $input.data();
var $tr = $('<tr>');
$tr.append( $('<td>').text( data.name))
.append( $('<td>').text( data.price));
$selectedMenuTable.append($tr);
sum += data.price;
}
});
$('#sum-price').text(sum);
});
}).fail(function( data ) {
}).always(function( data ) {
});
}); http://jsdo.it/itoKami1123/3KAK
13定7埖25晩直袗晩
13定7埖25晩直袗晩
ぱくたそo創亟寔殆可を聞喘しております。ありがとうございます ?http://www.pakutaso.com/about.html
13定7埖25晩直袗晩
13定7埖25晩直袗晩
APIサ`バ
GET
13定7埖25晩直袗晩
click!
APIサ`バ
GET
13定7埖25晩直袗晩
13定7埖25晩直袗晩
[
{ "name": "ハンバ`ガ", "price": 300 },
{ "name": "チ`ズバ`ガ", "price": 400 },
{ "name": "孚りきバ`ガ", "price": 500 },
{ "name": "スペシャル", "price": 600 }
]
http://jsrun.it/assets/g/q/B/s/gqBsC
13定7埖25晩直袗晩
13定7埖25晩直袗晩
var MenuItem = Backbone.Model.extend({
defaults:{
checked: false, // xkフラグ
name: "", // ハンバ`ガ`兆
price: 0 // おカ
},
toggleChecked: function(){
this.set("checked", !this.get("checked") );
}
})
13定7埖25晩直袗晩
var!MenuList!=!Backbone.Collection.extend({
!!!!model:!MenuItem,
!!!!url:!'/assets/g/q/B/s/gqBsC',
!!!!sumPrice:!function(){
!!!!!!!!var!checkedMenuItems!=!this.where({!checked:true!});
!!!!!!!!var!sum!=!0;
!!!!!!!!_.each(checkedMenuItems,function(model){
!!!!!!!!!!!!sum!+=!model.get("price");
!!!!!!!!});
!!!!!!!!return!sum;
!!!!}
});
13定7埖25晩直袗晩
13定7埖25晩直袗晩
Backbone.jsのViewは
ControllerのC嬬も隔ちます
ご廣吭
13定7埖25晩直袗晩
13定7埖25晩直袗晩
var!MenuItemView!=!Backbone.View.extend({
!!!!tagName:!'tr',
!!!!model:!null,!//":MenuItem
!!!!initialize:!function(!options){
!!!!!!!!var!menuItem!=!this.model;
!!!!!!!!this.listenTo(!menuItem,!'change',!this.updateRender);
!!!!},
!!!!createRender:!function(){
!!!!!!!!var!menuItem!=!this.model;
13定7埖25晩直袗晩
!!!!!!!!this.listenTo(!menuItem,!'change',!this.updateRender);
!!!!},
!!!!createRender:!function(){
!!!!!!!!var!menuItem!=!this.model;
!!!!!!!!var!$chk!=!$('<input!type="checkbox"!/>');
!!!!!!!!var!name!=!menuItem.get("name");
!!!!!!!!var!price!=!menuItem.get("price");
!!!!!!!!this.$el
!!!!!!!!!!!.append($('<td>').append($chk))
!!!!!!!!!!!.append($('<td>').text(name))
!!!!!!!!!!!.append($('<td>').text(price));
!!!!},
!!!!events:!{
!!!!!!!!"click":"onClick_menuItem"
!!!!},
13定7埖25晩直袗晩
!!!!},
!!!!events:!{
!!!!!!!!"click":"onClick_menuItem"
!!!!},
!!!!onClick_menuItem:!function(event){
!!!!!!!!var!menuItem!=!this.model;
!!!!!!!!menuItem.toggleChecked();
!!!!},
!!!!updateRender:function!(){
!!!!!!!!var!menuItem!=!this.model;
!!!!!!!!var!$chk!=!this.$('input[type="checkbox"]');
!!!!!!!!var!checked!=!menuItem.get("checked");
!!!!!!!!$chk.prop('checked',checked);
!!!!}
});
this.listenTo( menuItem, 'change', this.updateRender);
13定7埖25晩直袗晩
var MenuListView = Backbone.View.extend({
el:'#menu',
collection: null, //:MenuList
initialize: function(options){
this.listenTo(this.collection,'reset',this.listRender);
},
listRender: function(){
this.collection.each(this.createMenuItem,this);
},
createMenuItem: function(menuItem){
var opt = {model:menuItem};
var menuItemView = new MenuItemView(opt);
menuItemView.createRender();
this.$el.append( menuItemView.$el);
}
});
13定7埖25晩直袗晩
<div id="application" >
<table id="menu" ></table>
<table id="selected-menu"></table>
<div id="sum-price-pane" >
<script id="sum-price-pane-template" type="text/template" >
栽<span ><%= sumPrice %></span>
</script>
</div>
</div>
13定7埖25晩直袗晩
var SelectedItemView = Backbone.View.extend({
tagName: 'tr',
model: null, // :MenuItem
initialize: function(options){
var selectedItem = this.model;
},
createRender: function(){
var menuItem = this.model;
var name = menuItem.get("name");
var price = menuItem.get("price");
this.$el
.append($('<td>').text(name))
.append($('<td>').text(price));
return this;
}
});
13定7埖25晩直袗晩
var SelectedListView = Backbone.View.extend({
el: '#selected-menu',
collection: null, // :MenuList
initialize: function(options){
this.listenTo(this.collection,'change',this.updateRender);
},
createItem: function(checkedItem){
var selItemView = new SelectedItemView({model:checkedItem});
this.$el.append( selItemView.createRender().$el);
},
updateRender: function(){
this.$el.empty();
var checkedItems = this.collection.where({ checked:true });
_.each(checkedItems,this.createItem,this);
}
});
13定7埖25晩直袗晩
var SumPriceView = Backbone.View.extend({
el: '#sum-price-pane',
collection: null, // :MenuList
template: null, // :_.template(x)
initialize: function(options){
this.template = _.template( $('#' + this.el.id + '-template').html() );
this.listenTo(this.collection,'reset',this.render);
this.listenTo(this.collection,'change',this.render);
},
render: function(){
var menuList = this.collection;
var sumPrice = menuList.sumPrice();
var html = this.template( { sumPrice: sumPrice } );
this.$el.empty()
.html( html );
}
});
13定7埖25晩直袗晩
<div id="application" >
<table id="menu" ></table>
<table id="selected-menu"></table>
<div id="sum-price-pane" >
<script id="sum-price-pane-template" type="text/template" >
栽<span ><%= sumPrice %></span>
</script>
</div>
</div>
var SumPriceView = Backbone.View.extend({
el: '#sum-price-pane',
? ???福待???
initialize: function(options){
this.template = _.template( $('#' + this.el.id + '-template').html() );
? ???福待???
},
render: function(){
var menuList = this.collection;
var price = menuList.sumPrice();
var html = this.template( { sumPrice: price } );
this.$el.empty()
.html( html );
}
});
$(`#id¨)でテンプレ`ト塀を函誼してま
す。參和3Nがあります。
<%= そのまま %>
<%- エスケ`プ %>
<% JavaScriptg佩 %>
揖兆プロパティのO協、
テンプレ`トの嶄で聞喘されます。
13定7埖25晩直袗晩
_.templateSettings = {
evaluate: /{%(.+?)%}/g,
interpolate: /{{(.+?)}}/g,
escape: /{%-(.+?)%}/g
};
ちなみに<%= value %>が聞えないh廠の栽は。。
13定7埖25晩直袗晩
var ApplicationView = Backbone.View.extend({
el: '#application',
collection: null, // :MenuList
initialize: function(options){
this.collection = new MenuList();
var op = { collection:this.collection};
var menuListView = new MenuListView(op);
var selectedListView = new SelectedListView(op);
var sumPriceView = new SumPriceView(op);
},
start: function(){
this.collection.fetch({reset: true});
}
});
$(function(){
(new ApplicationView()).start();
});
匯つのCollection(Model)
を}方のViewが旋喘する並で
}方のViewgの屁栽來が隠た
れます。
アプリケ`ション_兵rに
APIサ`バにGETしてJSON函誼し
ます。
[廣]{reset:true}がoいと
resetイベントがk諮しません。
13定7埖25晩直袗晩
13定7埖25晩直袗晩
13定7埖25晩直袗晩
13定7埖25晩直袗晩
http://jsdo.it/itoKami1123/A0MI
13定7埖25晩直袗晩

More Related Content

Viewers also liked (7)

PDF
5蛍でわかるBackbone.js ことはじめ
Kohei Kadowaki
?
PDF
いまさらけない。Backbone.js 階秘T
Kohei Kadowaki
?
PDF
京粥遺悪京或鰻掘.干皆による安艶恢アプリケ`ション蝕kについて
Toshio Ehara
?
KEY
エンジニアの蕕WordPress秘T ?WordPressはWebAppプラットフォ`ムです?
Yuji Nojima
?
PDF
はじめよう Backbone.js
Hiroki Toyokawa
?
PDF
Node.js をxぶとき xばないとき
Ryunosuke SATO
?
PPTX
ASP.NET SPA_kをはじめよう゛書と隆栖とステップアップ
風匯 硬R
?
5蛍でわかるBackbone.js ことはじめ
Kohei Kadowaki
?
いまさらけない。Backbone.js 階秘T
Kohei Kadowaki
?
京粥遺悪京或鰻掘.干皆による安艶恢アプリケ`ション蝕kについて
Toshio Ehara
?
エンジニアの蕕WordPress秘T ?WordPressはWebAppプラットフォ`ムです?
Yuji Nojima
?
はじめよう Backbone.js
Hiroki Toyokawa
?
Node.js をxぶとき xばないとき
Ryunosuke SATO
?
ASP.NET SPA_kをはじめよう゛書と隆栖とステップアップ
風匯 硬R
?

More from Toshio Ehara (20)

PDF
iPhoneアプリを Javaでくよ
Toshio Ehara
?
PDF
干温厩温兜伉宀茶膿氏(2015/08/07)彿創
Toshio Ehara
?
PDF
干温厩温窮弯茶膿氏彿創
Toshio Ehara
?
PDF
京粥京掘晦で、掘皆2015(掘皆6)を僥ぼう!
Toshio Ehara
?
PDF
粥稼乙顎鉛温姻干皆で匍暦システム雨鴛何瞳晒
Toshio Ehara
?
PDF
traceur-compilerで ECMAScript6を悶Y
Toshio Ehara
?
PDF
岳姻温界艶顎姻-界看馨沿庄鉛艶姻で隆栖の干温厩温皆界姻庄沿岳を悶Y
Toshio Ehara
?
PDF
粥稼乙顎鉛温姻干皆秘壇の2
Toshio Ehara
?
PDF
干艶稼一庄稼壊を干温厩温蝕kでこんな湖じで聞っています
Toshio Ehara
?
PDF
粥稼乙顎鉛温姻干皆秘壇の
Toshio Ehara
?
PDF
粥稼乙顎鉛温姻干皆意霞沿艶皆界姻庄沿岳を編してみた。
Toshio Ehara
?
PDF
粥稼乙顎鉛温姻干皆の禽庄姻艶界岳庄厩艶で鯵鯵タグつくっちゃお
Toshio Ehara
?
PDF
HTML5のCanvas秘T - Img鮫颪鮠シしてみよう -
Toshio Ehara
?
PDF
BACKBONEJS+SCSS+JavaEE(JAX-RS) 書LのWebアプリをNetBeansで秘T
Toshio Ehara
?
PDF
牽股の鴛意茶膿氏秤烏の鹿め圭┳意彿創
Toshio Ehara
?
PDF
BACKBONE.JSにJasmineでテストコ`ドいてみた (LTY創)
Toshio Ehara
?
PDF
JavaScriptのテストコ`ド 匯wに茶しませんか殖
Toshio Ehara
?
PDF
‐隆k燕/Backbone.jsとJavaEE7でWebアプリを恬ろう(及1指) ?GETで匯E?
Toshio Ehara
?
PDF
LT Leap MotionとJavaScriptで[ぼう!
Toshio Ehara
?
PDF
JavaScriptもBACKBONE.JSならスッキリ ~MVCぽいのを兜悶Y!~
Toshio Ehara
?
iPhoneアプリを Javaでくよ
Toshio Ehara
?
干温厩温兜伉宀茶膿氏(2015/08/07)彿創
Toshio Ehara
?
干温厩温窮弯茶膿氏彿創
Toshio Ehara
?
京粥京掘晦で、掘皆2015(掘皆6)を僥ぼう!
Toshio Ehara
?
粥稼乙顎鉛温姻干皆で匍暦システム雨鴛何瞳晒
Toshio Ehara
?
traceur-compilerで ECMAScript6を悶Y
Toshio Ehara
?
岳姻温界艶顎姻-界看馨沿庄鉛艶姻で隆栖の干温厩温皆界姻庄沿岳を悶Y
Toshio Ehara
?
粥稼乙顎鉛温姻干皆秘壇の2
Toshio Ehara
?
干艶稼一庄稼壊を干温厩温蝕kでこんな湖じで聞っています
Toshio Ehara
?
粥稼乙顎鉛温姻干皆秘壇の
Toshio Ehara
?
粥稼乙顎鉛温姻干皆意霞沿艶皆界姻庄沿岳を編してみた。
Toshio Ehara
?
粥稼乙顎鉛温姻干皆の禽庄姻艶界岳庄厩艶で鯵鯵タグつくっちゃお
Toshio Ehara
?
HTML5のCanvas秘T - Img鮫颪鮠シしてみよう -
Toshio Ehara
?
BACKBONEJS+SCSS+JavaEE(JAX-RS) 書LのWebアプリをNetBeansで秘T
Toshio Ehara
?
牽股の鴛意茶膿氏秤烏の鹿め圭┳意彿創
Toshio Ehara
?
BACKBONE.JSにJasmineでテストコ`ドいてみた (LTY創)
Toshio Ehara
?
JavaScriptのテストコ`ド 匯wに茶しませんか殖
Toshio Ehara
?
‐隆k燕/Backbone.jsとJavaEE7でWebアプリを恬ろう(及1指) ?GETで匯E?
Toshio Ehara
?
LT Leap MotionとJavaScriptで[ぼう!
Toshio Ehara
?
JavaScriptもBACKBONE.JSならスッキリ ~MVCぽいのを兜悶Y!~
Toshio Ehara
?
Ad

Recently uploaded (9)

PDF
マルチAIエ`ジェントのbI順でのg樹に鬚韻織`プンソ`ス試咾燐考 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
芦硫 暖, 臼翫 誰伏, 防和 高. 頂Πk伏rにおける瓜墾彜r委燐を朕議とした秤鷙禾丱轡好謄爐了A篇, 徨秤麝佚僥氏HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
猟B初Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナ` 仝GDC2025 オ`ディオ鷂羯瓠SIG-Audio_GDC2024_鷂羯痊Y創_勸さ...
IGDA Japan SIG-Audio
?
PDF
芦硫 暖, 儲旗 圍岻, 防和 高. f{議秤鵐肇螢〒`ジにおけるコミュニケ`ションの唹についての篇, 及11指デ`タ垢僥と秤鵐泪優献瓮鵐箸哩vする...
Matsushita Laboratory
?
PDF
猟B初AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
芦硫 暖, 防和 高. h廠Z崑を楚辛嬬にするためのみ繁垢岑嬬僥氏及4指碧賺а仂浸, 2018.
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナ` 仝GDC2025 オ`ディオ鷂羯瓠SIG-Audio_GDC2025_鷂羯痊Y創_局xさ...
IGDA Japan SIG-Audio
?
PDF
APIJ辛を屶えるKeycloakの児云とOの深え圭 ゛ OAuth/OIDCによるAPI隠oのベストプラクティス ゛
Hitachi, Ltd. OSS Solution Center.
?
マルチAIエ`ジェントのbI順でのg樹に鬚韻織`プンソ`ス試咾燐考 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
芦硫 暖, 臼翫 誰伏, 防和 高. 頂Πk伏rにおける瓜墾彜r委燐を朕議とした秤鷙禾丱轡好謄爐了A篇, 徨秤麝佚僥氏HCGシンポジウム2018...
Matsushita Laboratory
?
猟B初Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
SIG-AUDIO 2025 Vol.02 オンラインセミナ` 仝GDC2025 オ`ディオ鷂羯瓠SIG-Audio_GDC2024_鷂羯痊Y創_勸さ...
IGDA Japan SIG-Audio
?
芦硫 暖, 儲旗 圍岻, 防和 高. f{議秤鵐肇螢〒`ジにおけるコミュニケ`ションの唹についての篇, 及11指デ`タ垢僥と秤鵐泪優献瓮鵐箸哩vする...
Matsushita Laboratory
?
猟B初AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
芦硫 暖, 防和 高. h廠Z崑を楚辛嬬にするためのみ繁垢岑嬬僥氏及4指碧賺а仂浸, 2018.
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナ` 仝GDC2025 オ`ディオ鷂羯瓠SIG-Audio_GDC2025_鷂羯痊Y創_局xさ...
IGDA Japan SIG-Audio
?
APIJ辛を屶えるKeycloakの児云とOの深え圭 ゛ OAuth/OIDCによるAPI隠oのベストプラクティス ゛
Hitachi, Ltd. OSS Solution Center.
?
Ad

京粥遺悪京或鰻掘.干皆で珂閣遺兵めませんか