我是新來的backgrid,並在表單中使用它以允許用戶選擇一行(通過複選框),然後單擊「提交」。我無法弄清楚如何配置我的網格行爲像「單選按鈕」,因爲只能選擇一行。這是什麼本身支持的backgrid或我是否需要編寫一個處理程序來「取消選擇」以前選擇的行?backgrid.js - 如何防止多行選擇?
0
A
回答
0
這裏是一個快速正骯髒的方法:
wellCollection.on('backgrid:selected', function(model, selected) {
if (wellGrid.getSelectedModels().length > 1) {
model.trigger("backgrid:select", model, false);
alert('Only one selection is allowed.');
}
});
缺點是這種方法需要使用「全選」,這實在是反直覺的用戶。我寧願不能使用「SelectAll」,但它需要填充getSelectedModels對象。
0
您可以創建一個呈現單選按鈕的自定義單元。下面的實現可能需要一些更多的工作,但像這樣的東西讓你開始:
var RadioCell = Backgrid.Cell.extend({
events: {
"click .selectedRadio": "makeSelected"
},
render: function() {
this.template = Mustache.to_html($("#radioCell").html(), this.model.toJSON());
this.$el.html(this.template);
this.delegateEvents();
return this;
},
makeSelected: function() {
// set all to inactive
this.model.collection.invoke('set', { "SomeModelAttrib": false });
// check if radio is checked and set the value on the model
var radioValue = $("input[name='someSelection']").is(":checked");
this.model.set("SomeModelAttrib", radioValue);
}
});
和鬍子模板:
<script type="text/template" id="radioCell">
<input type='radio' class='selectedRadio' name='someSelection' value="{{SomeModelAttrib}}" {{#SomeModelAttrib}}checked{{/SomeModelAttrib}}>
</script>
相關問題
- 1. 防止多行選擇
- 2. backgrid.js刪除選擇
- 3. 如何防止TreeItem選擇?
- 4. 如何防止在選擇
- 5. jQuery的防止多選擇在多選
- 6. 如何防止在選擇查詢中選擇重複行?
- 7. jquery防止多選擇單選按鈕
- 8. 如何防止用戶在HTML中選擇多個複選框?
- 9. cakephp防止多個mysql選擇
- 10. 防止reCaptcha多重圖像選擇
- 11. 防止div的多重選擇
- 12. 如何防止雙擊選擇文本?
- 13. 如何防止STRUTS持續選擇?
- 14. 如何防止預先選擇JavaFX ListView?
- 15. 如何防止選擇JavaFX中
- 16. 如何防止組合框選擇值
- 17. TextField() - 如何防止鼠標選擇
- 18. QTableView - 如何防止選擇更改
- 19. 如何防止在列表中選擇
- 20. 防止使用Javascript對每一行進行多重選擇
- 21. jQuery - 防止在選擇多個選項中取消選擇
- 22. 如何防止從MVC3中未選擇的行進行驗證
- 23. xe:listView防止多選
- 24. jqGrid - 防止取消選擇一行
- 25. 如何防止optgroups中的多個選擇ios safari
- 26. 如何防止NSTimer多次調用我的選擇器函數?
- 27. 如何防止多次選擇組合框值?
- 28. 如何防止在屏幕上顯示多個html選擇框?
- 29. 選擇元素 - 防止選擇更改
- 30. 防止日期選擇選擇
我可以看到如何建立一個事件處理程序來捕獲行是('backgrid row was selected!'+ model.attributes.api +':'+ selected); });'which哪個選中了'wellCollection.on('效果很好。但是,我想遍歷所有行,並且如果有其他行被「選中」,則會阻止進行其他選擇。我的JavaScript還不夠成熟,無法閱讀Backgrid源代碼並找出答案。 –