我是mvc的初学者。我正在开发一个应用程序,我需要在输入一个值后更改文本框的值并按TAB键。例如,当我输入 1 时在文本框和按Tab键中,它应显示 +1 ,即我需要将 + 符号连接到我输入的文本。要执行此操作,我尝试引发textchanged事件对于文本框。我怎么能这样做。当我用Google搜索它时,我发现它可以使用javascript完成。但我不知道该怎么做,请给我一些建议。
代码:
@Html.TextBoxFor(m => m.text)--textbox
答案 0 :(得分:5)
您可以使用jQuery并订阅blur
事件,当输入字段失去焦点时将触发该事件:
$(function() {
$('#id_of_your_textbox').blur(function() {
var value = $(this).val();
var newValue = value + '1';
$(this).val(newValue);
});
});
如果您不想使用jQuery这样的javascript框架,您可以使用普通的javascript实现相同的目标:
window.onload = function() {
document.getElementById('id_of_your_textbox').onblur = function() {
var value = this.value;
var newValue = value + '1';
this.value = newValue;
};
};
注意:这会将字符串值1
添加到现有文本中。如果要执行整数加法,则需要先解析当前值。您可以使用parseInt
或parseFloat
方法(取决于数据类型):
var value = parseInt($(this).val());
if (!isNaN(value)) {
var newValue = value + 1;
$(this).val(newValue);
} else {
alert('You have entered an invalid integer value');
}
以下是如何为您可以在javascript选择器中使用的文本字段分配确定性ID:
@Html.TextBoxFor(m => m.text, new { id = "id_of_your_textbox" })