我在Razor视图页面上有几个Kendo NumericTextBox,并为它们提供了一个事件处理程序:
@Html.Kendo().NumericTextBoxFor(model => model.SignedNumericTextBox1).Step(0.25f).Events(e => e.Change("ChangeSignedNumericTextBox1"))
@Html.Kendo().NumericTextBoxFor(model => model.SignedNumericTextBox2).Step(0.25f).Events(e => e.Change("ChangeSignedNumericTextBox2"))
@Html.Kendo().NumericTextBoxFor(model => model.SignedNumericTextBox3).Step(0.25f).Events(e => e.Change("ChangeSignedNumericTextBox3"))
<script>
function ChangeSignedNumericTextBox1() {
var val = this.value()
alert(this.name);
if (val > 0) {
$("#SignedNumericTextBox1").kendoNumericTextBox({ format: "+##.##", decimals: 2 });
}
else {
$("#SignedNumericTextBox1").kendoNumericTextBox({ format: "##.##", decimals: 2 });
}
}
function ChangeSignedNumericTextBox2() {
var val = this.value()
alert(this.name);
if (val > 0) {
$("#SignedNumericTextBox2").kendoNumericTextBox({ format: "+##.##", decimals: 2 });
}
else {
$("#SignedNumericTextBox2").kendoNumericTextBox({ format: "##.##", decimals: 2 });
}
}
function ChangeSignedNumericTextBox3() {
var val = this.value()
alert(this.name);
if (val > 0) {
$("#SignedNumericTextBox3").kendoNumericTextBox({ format: "+##.##", decimals: 2 });
}
else {
$("#SignedNumericTextBox3").kendoNumericTextBox({ format: "##.##", decimals: 2 });
}
}
</script>
有没有办法在我的JavaScript中引用数字文本框,以便我只需要一个ChangeSignedNumericTextBox函数?
答案 0 :(得分:0)
这应该有希望帮助:
<script>
function changeme()
{
var myId = '#' + this._form.context.id;
var val = $(myId).val();
if (val > 0) {
$(myId).kendoNumericTextBox({ format: "+##.##", decimals: 2 });
}
else {
$(myId).kendoNumericTextBox({ format: "##.##", decimals: 2 });
}
}
</script>