[英]knockout - how to get a button's Text value?
我正在查看是否可以避免编写单独的函数来处理单独的按钮单击。 如果可以读取单击的按钮的Text值,则可以使用一个名为“ showName”的函数,并使用switch语句来处理每个按钮的单击。
这可能吗?
<body>
<button data-bind="click: showName">Show Name</button>
<button data-bind="click: showName">Show Lists</button>
</body>
我在下面尝试了各种方法。 如果要单击第一个按钮,我想获取值“显示名称”。 但是这些都不起作用。
function TutorialsViewModel(){
this.showName = function(e){
console.log(e);
console.log(e.target);
console.log(e.target.value);
};
}
ko.applyBindings(new TutorialsViewModel());
代替使用e.target.value
您需要使用e.target.innerText
。
这是一个工作示例 : http : //jsfiddle.net/e8JPT/315/
HTML
<body>
<button id="btn1" data-bind="click: log">Show Name</button>
<button id="btn2" data-bind="click: log">Show Lists</button>
</body>
Java脚本
var TutorialsViewModel=function(){
this.log = function(data, event){
alert("You clicked on : " +event.target.innerText);
};
}
ko.applyBindings(new TutorialsViewModel());
希望这可以帮助!
以stackoverflow为例,可以使用函数getElementsByName
getElementsByClassName
或getElementsById
从页面检索任何元素,并可以访问其所有属性。 name
, value
, innerHTML
等...
来自任何浏览器控制台的StackOverflow示例(打开的F12):
var button = document.getElementById("submit-button");
//this only works if the button has id="submit-button"
button.value;
// output : "Text in button"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.