我有一个输入textarea如下:
<textarea data-bind="value: $data.text, attr: { name: 'Data[' + $index() + '].Text', id: 'Data[' + $index() + '].Input'}" name="Data[1].Text" id="Data[1].Text"></textarea>
单击按钮,我想获取输入数据的textarea的id。 click事件位于knockoutJS代码中。也可以有多个textarea。
如何在knockout js代码中获取id。感谢
答案 0 :(得分:0)
我假设你想要一个列表(因为可能有多个textareas)。您可以使用按钮上的单击绑定并使用jQuery获取所有textareas。
<p>Text area 1 <textarea id="login" data-bind="value: userName" ></textarea></p>
<p>Text area 2 <textarea id="pwd" type="password" data-bind="value: userPassword" ></textarea></p>
<button data-bind="click: getIdList"> click me </button>
<script>
function viewModel() {
var self = this;
this.userName = ko.observable("");
this.userPassword = ko.observable("");
this.getIdList = function() {
var textAreaList = $("textarea");
var idList = "";
textAreaList.each(function( key, element ) {
if(element.value !== "")
idList += element.getAttribute("id") + ",";
});
return idList.slice(0, -1);
};
}
var myViewModel = new viewModel();
ko.applyBindings(myViewModel);
</script>