這對你們來說可能非常簡單,但是因爲我在學習骨幹和jquery,所以我很難弄明白這一點。顯示/隱藏div中的按鈕點擊骨幹網
當頁面第一次加載時,我希望它只顯示一個div(幾個),並在單擊Yes/No按鈕時開始顯示其他div。我還使用Twitter的引導的UI
這就是我對骨幹觀點:
App.Views.Question = Backbone.View.extend({
tagName: 'div',
className: 'question-box hide',
template: template('questionTemplate'),
events: {
},
initialize: function() {
this.model.on('reset', this.render, this);
},
render: function() {
var editQuestionnaire = this.model.toJSON();
console.log(this.$el.html(editQuestionnaire));
this.$el.html(this.template(editQuestionnaire));
//console.log(this.model);
return this;
}
});
正如你所看到的,我設置的className爲「問題盒隱藏」,但它隱藏所有divs。
這裏是我的index.html
<div class="bs-docs-example bs-docs-question">
<span class="badge badge-success"><%= question_id %></span>
<div class="span3 question-div">
<h4 class="text-info">
<%= question %>
</h4>
<div class="hs<%= question_id %>"></div>
<script type="text/javascript">
var id = <%= question_id %>;
var yes_id = <%= yes_question_id %>;
var no_id = <%= no_question_id %>;
if(id == 1)
{
$('div .question-box').attr('class', 'question-box show');
}
if(id != 8 && id != 9 && id != 6)
{
$('.hs<%= question_id %>')
.append('<button type="button" class="btn btn-primary">Yes </button>')
.append('<button type="button" class="btn btn-warning">No</button>');
}
else if(id == 6)
{
$('.hs<%= question_id %>')
.append('<button type="button" class="btn btn-primary">OK </button>')
.append('<button type="button" class="btn btn-warning">Cancel</button>');
}
</script>
<span class="span5"></span>
<div class="span4"></div>
</div>
該項目是排序的條件分支網站。所以,第一個盒子總是必須出現。然後根據回答的問題,應該出現一個不同的方框。 (我想我知道如何做到這一點,我想我可以創建一個將question_id作爲參數的函數,然後顯示該框,我可以在按鈕中放置onclick選項,儘管如此,我還沒有嘗試過) 我非常感謝你的幫助。
謝謝。
有9個問題,每個問題都有自己的div。按鈕也應該在div內。然後,當單擊是時,它應該顯示另一個基於存儲在主幹集合中的yes_id的問題。所以,爲了點擊事件觸發,我應該把按鈕放在index.html中,對吧?但我不明白如果單擊是或否,骨幹視圖將知道顯示哪個div。 – user1828605
是的,你需要在index.html裏面有你的按鈕。當你點擊'是'按鈕時,你會告訴div應該使用jquery顯示。 – rcarvalho
該按鈕有效,但我的div仍然沒有做我想做的事。它顯示全部或不顯示。我有另一個視圖App.View.Questions裏面有this.collection.each(this.addOne,this)裏面的渲染函數。我認爲這是從我上面的其他觀點加載所有的問題。我如何只能在骨幹中獲取一個收藏品? – user1828605