我要做的是在HTMLInputElement上触发onchange事件后获取新值。我知道我可以通过使用element.value来实现这一点,但是从大的角度来看,这是行不通的。请参考下面的代码:
//This Works:
elem.onchange = (ev: Event) => {
var newValue = (<HTMLInputElement>ev.srcElement).value;
alert("Old: " + this._data[key] + ", New: " + newValue);
}
//Is there anyway I can get it to work like below? Currently I keep getting old values as new and old.
elem.onchange = (ev: Event) => {
var attName = "checked"; //or "value" for example
var newValue = ev.srcElement.getAttribute(attName);
alert("Old: " + this._data[key] + ", New: " + newValue);
}发布于 2015-06-22 22:23:35
您不能使用getAttribute("checked")来判断是否选中了某个复选框。您需要使用checked属性:
elem.onchange = function (ev) {
var element = <HTMLInputElement>ev.srcElement,
newValue: string | boolean;
if (element.type === "checkbox") {
newValue = element.checked;
}
else {
newValue = element.value;
}
alert("Old: " + this._data[key] + ", New: " + newValue);
};https://stackoverflow.com/questions/30981291
复制相似问题