0

我一直在开发 MVC3 应用程序。这是我的编辑视图,我要编辑的文本框

@Html.TextBoxFor(model => model.NoOfDays, new { @class="text_box_size",@size = "5" })

我使用 Jquery 根据上述文本框的值更改其他文本框

$(function () {
            $("input#NoOfDays").change(function () {
                var value =$("#NoOfDays").val();

                validation();

            });
        });

更改文本框值后,我调用预先编写的验证函数。但它不起作用。总是返回 $("#NoOfDays").val(); 功能是旧值。不是新值。请任何人都可以帮助我

4

3 回答 3

1

不完全确定您要做什么,因为您的问题可能需要一些工作,但是如果我对您的理解正确,您希望在您显示的示例发生更改时更新其他文本框的值。如果这是正确的,试试这个:

$(function () {
    $('input#NoOfDays').on('blur', function (event) {
        var value = $(this).val();

        $('#id_of_other_textbox').val(value);

        // ... the rest of your code ...

    });
});

on需要 jQuery 1.7 或更高版本。

HTH。

编辑:on使用(然后指定要处理的事件)之间的主要区别在于clickon是可用于处理多个事件的委托,而click(显然)仅侦听onclick事件。如果您想绑定到动态事件,它也很有用;绑定到静态父级,然后过滤到将匹配动态元素的选择器:

$(function () {
    $('#container-id').on('blur', 'input.dynamic-element-class', function (event) {

        // ... the rest of your code ...

    });
});
于 2012-10-18T05:25:51.933 回答
1

提供更新的值作为参数:

$(function () {
            $("input#NoOfDays").change(function () {
                var value =$("#NoOfDays").val();    
                validation(value);    
            });
        });

如果您在 .change 中遇到问题,您也可以这样做:

$("input#NoOfDays").live('change keyup', function() {
    do your code here ...
});
于 2012-10-18T04:41:07.560 回答
0

而不是 onchange 尝试使用 onBlur 事件。

谢谢

考希克

于 2012-10-18T05:13:39.960 回答