我想了解Backbone.js以及它是如何工作的。我已經創建了兩個文本框,可以取任何值,並按鈕(Multipy)的值顯示在下面的框中,這可以工作,但我希望在第三個框中顯示兩個值的乘法 - 我試圖將這兩個值值變量和乘法,但它似乎並沒有工作。我認爲從文本框中返回的值存在一些問題,認爲它是NAN。無論如何,請看看並建議。我已將註釋掉的代碼註釋掉了。 直播網址:http://egoless.co.uk/learning/learn_backbone/first-backbone-app.php無法輸出從文本框(可能南)的值的乘法 - Backbone.js
<!DOCTYPE html>
<html>
<head>
<title>Testing</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="underscore.js">
</script><script type="text/javascript" src="backbone.js"></script>
<style>
.size {
width: 100px;
height: 30px;
border: solid 1px red;
float: left;
margin-left: 10px;
text-align: center;
font-weight: bold;
}
</style>
</head>
<body>
<input type="text" id="box1" />
<input type="text" id="box2" />
<button id="myBtn">Multiply</button>
<br>
<br>
<div id="myBox" class="size"></div>
<div id="myBox2" class="size"></div>
<div id="myBox3" class="size"></div>
<script>
(function($){
//defining model 1
PersonModel1 = Backbone.Model.extend({
defaults:{
age : function(){
return $("input#box1").val();
}
}
});
myPerson1 = new PersonModel1();
//defining model 2
PersonModel2 = Backbone.Model.extend({
defaults:{
age : function(){
return $("input#box2").val();
}
}
});
myPerson2 = new PersonModel2();
//defining collection
Group = Backbone.Collection.extend({
Model: PersonModel1,
Model: PersonModel2,
url:"#"
})
People = new Group([]);
People.add(myPerson1);
People.add(myPerson2);
//adding view
ResultView = Backbone.View.extend({
el:'button',
events:{
'click':'render'
},
render:function(){
val1 = myPerson1.get('age');
val2 = myPerson2.get('age')
val3 = val1*val2 // not working
$('div#myBox').html(val1);
$('div#myBox2').html(val2);
$('div#myBox3').html(val3); // not working
$('input#box1').val("");
$('input#box2').val("");
return this;
}
})
$(document).ready(function(e) {
myResultView = new ResultView();
});
})(jQuery);
</script>
</body>
</html>
開始。把'console.log($(「input#box1」).val())'放在你嘗試獲取值的年齡方法中。如果這是通過一個正確的數字繼續向上移動棧跟蹤,直到你發現問題。如果它不正確,那麼你知道你的選擇器或元素有問題,你可以測試,調整或下移。 – DigTheDoug
在你的視圖中定義你的變量時,你也應該使用'var',否則你將來會遇到範圍問題,更不用說偶然刪除它的可能性。 – DigTheDoug
是的,這工作console.log(($(「input#box1」).val())*($(「input#box2」).val()))但我想分配值的屬性一個對象定義爲模型 – user1336103