检查是否选中了任何复选框 挖空 - PhoneJS
Checking if any checkbox is checked Knockout - PhoneJS
所以在我的移动Web应用程序(使用PhoneJS)中,我使用dxList来显示一些记录。 我在每个列表"项目"旁边都有一个复选框,以便我可以批量删除或发送记录。 我需要知道如何确定是否选中了一个或多个复选框。
我知道我可以用普通的 Knockout 来做到这一点,但我并没有 PhoneJS 框架实际上创建一个"真正的"HTML 复选框,而是制作了一个可点击的元素,其功能类似于复选框。
因此,如果选中一个或多个复选框,我需要显示发送和删除按钮。 我只需要知道如何确定是否有任何复选框。
我已经在网上到处寻找这个,但解决方案是使用 REAL 复选框输入进行淘汰......
这是我的 dxList 代码:
<div data-bind="dxList:{dataSource: list_data, grouped:true }">
<div data-options="dxTemplate:{name:'group'}">
<b><span data-bind="text: $data.key"></span></b>
</div>
<div data-options="dxTemplate:{name:'item'}">
<span data-bind="text: $data.item_value"></span>
<div data-bind="dxCheckBox: { }" style="float:right"></div>
</div>
</div>
我尝试将"checked"绑定到可观察数组,但这会影响所有复选框。
谁能帮我解决这个问题? 谢谢!
最直接的 MVVM 方法是将数据绑定 dxCheckBox.checked 选项到列表项视图模型的布尔属性。然后,您可以循环访问这些项目并了解检查了哪些项目。
你提到你
尝试将"已检查"绑定到可观察数组
不清楚为什么要将标量属性绑定到数组。
实际上,它与纯HTML方法没有太大区别。您可以将PhoneJS小部件视为胖HTML标签。
所以,我有几乎相同的问题,但我想我可以更清楚地说明我的要求。
我有一个使用 SQLite 表作为数据源的 dxList。 它的设置允许用户从模板列表中选择要应用于另一个对象。 这个新的模板列表和关联的对象 ID 将保存在与原始数据不同的表中,因此,我需要能够识别列表中已检查的项目。
<div data-bind="dxList: { dataSource: templateList }">
<div data-bind="dxAction: ''" data-options="dxTemplate : { name: 'item' } ">
<table>
<tr>
<td>
<div data-bind="dxCheckBox: { }"></div>
</td>
<td>
<div style="font-weight: bold; padding-left: 10px;" data-bind="text: TemplateName"></div>
</td>
</tr>
</table>
</div>
</div>
我在最初的搜索中发现了这篇文章。 我不能使用每个复选框的数据绑定:{选中:?}值,因为这会像找到的原始海报一样,设置全部或无。 我想到了一个数组。 我将尝试使用 dxAction 从数组中添加/删除选中的列表项 ID,但我不确定这将如何工作。 然后是最终解析以获取所有选中的项目。 一旦我让它工作,我将更新这篇文章。
分辨率:
视图模型对象:
selectedTemplates: ko.observableArray(),
selectTemplate: function (args) {
//If it's there. Remove it.
if (args.model.selectedTemplates.indexOf(args.itemData.TemplateID) > -1) {
args.model.selectedTemplates.pop(args.itemData.TemplateID);
args.itemElement[0].style.backgroundColor = '';
args.itemElement[0].style.color = 'Black';
}
//else Add
else {
args.model.selectedTemplates.push(args.itemData.TemplateID);
args.itemElement[0].style.backgroundColor = '#017AFF';
args.itemElement[0].style.color = 'White';
}
},
和观点:
<div data-options="dxView : { name: 'SelectSurveys', title: 'SelectSurveys' } ">
<div data-bind="dxCommand: { title: 'Save', id: 'create', action: saveSelections, icon: 'save' }"></div>
<div data-options="dxContent : { targetPlaceholder: 'content' } ">
<div data-bind="dxList: { dataSource: templateList, itemClickAction: selectTemplate }">
<div data-options="dxTemplate : { name: 'item' } ">
<div style="font-weight: bold; padding-left: 10px;" data-bind="text: SurveyName"></div>
</div>
</div>
</div>
</div>
并循环选择的值以保存到本地数据库:
$.each(args.model.selectedTemplates(), function (index, value) {
db.transaction(function (tx) {
console.log("Inserting Data");
tx.executeSql(sql, [value],
function (t, result1) {
if (result1 != null) {
console.log("New Item added." + result1.insertId);
}
},
function (t, error) {
console.log(error);
});
});
在对象中,我添加了一些颜色,以便您可以分辨出选择了哪些对象,它不使用 dxSwitch 或复选框,但它同样有效,我认为它在视觉上更具吸引力,并且对用户来说更具信息性。
- 具有 json 的挖空绑定复选框组
- 挖空绑定复选框组
- 使用GLYPH图标作为复选框(图标检查和图标检查为空),如何获得检查的行总数
- 如何获取复选框值并将其插入到挖空中的可观察数组中
- 如果复选框未选中且文本字段不为空,则显示警报
- 使按钮像复选框一样工作,挖空js
- 挖空.js和复选框的双向绑定
- 设置复选框,当单选按钮与挖空更改时
- 检查是否选中了任何复选框 挖空 - PhoneJS
- 使用挖空复选框进行多重排序
- 挖空验证 - 至少一个字段具有值,并且至少选中了一个复选框
- 如何使用jQuery检查两个复选框何时都有非空值
- 选择下拉列表,如果下拉列表的选定值不为空,则自动选中该复选框
- jQuery检查复选框是否被选中,并使用复选框's值,如果它's是空的
- 一旦用户开始在文本字段中键入内容,如何选中复选框?如果javascript/html中的textfield为空,也可以取
- 如果输入为空,则取消选中行复选框
- 将复选框值映射到空数组
- 在jQuery中,复选框在空数组中推入它们的值,但在未选中时弹出或移动值
- 如何使复选框在使用 DNN7(挖空)的模板循环中工作
- 挖空.js“全选”复选框