我正在使用 WinJS.Binding.List() 将 Azure 移动服务数据绑定(bind)到 Listview。 如何从 ListView 中获取所选内容的值和索引?
//Javascript
var table = client.getTable('PatientInfo');
var birthCertData = function () {
table.read().done(function (results) {
birthCert = new WinJS.Binding.List(results);
listItems.winControl.itemDataSource = birthCert.dataSource;
});
};
function selectionChangedHandler() {
//what should I type here to get the selectedCell Value and index?
}
listItems.addEventListener("selectionchanged", selectionChangedHandler, false);
这是我的html
<div id="TemplateItem" data-win-control="WinJS.Binding.Template" style="display: none">
<div style="display: -ms-grid; -ms-grid-columns: auto 1fr">
<div style="-ms-grid-column: 2; margin-left: 5px; height: 40px; text-align: center; vertical-align: middle">
<h3 data-win-bind="innerText: birthcert"></h3>
</div>
</div>
</div>
<div id="listItems" class="win-selectionstylefilled"
data-win-control="WinJS.UI.ListView"
data-win-options="{ itemTemplate: select('#TemplateItem'),
layout: {type: WinJS.UI.ListLayout},
selectionMode: 'single',
tapBehavior: 'directSelect'}">
</div>
<div style="margin: 5px 0px 0px 72px; -ms-grid-column: 2">
<input type="text" id="textInput" />
</div>
屏幕截图:/image/Di0BP.png
谢谢
最佳答案
通过selection ListView的属性
function selectionChangedHandler(e) {
var numItemsSelected = listItems.selection.count;
var indicesSelected = listItems.selection.getIndices();
var itemsSelected = listItems.selection.getItems();
...
}
ISelection界面为您提供了其他可用于检测选择状态的选项。请注意,事件的详细数据 (e.detail
) 将为 null,因此如果您想一般性地获取源 ListView,可以通过 e.srcElement
关于javascript - 从移动服务数据源的 ListView 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139353/