1

我有以下代码

<script type="text/javascript">
    $(function()
    {
        var originalValue = $('#IndividualSystemSerialNumberCompanyId').val();
        $('#IndividualSystemSerialNumberCompanyId').change(function()
        {
            var main     = $(this);
            var newValue = main.val();

            $('#ChangeCompanyName').remove();

            if(originalValue != newValue)
            {
                console.log(originalValue);
                main.after('<span id="ChangeCompanyName" style="color:red;">&nbsp;&nbsp;&nbsp;Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
            }
        });
    });

</script>

但是上面的代码每次都不起作用是给我 2 in console.log(originalValue)i 意味着如果我选择旧的选定值,它总是执行if条件。

我需要先定义var originalValue;吗?

4

2 回答 2

1

感谢您的帮助并查看我的问题,但在 jsfiddle 开发演示期间,我解决了它。

我使用了下面的代码并且它的工作完美。

<script type="text/javascript">
    var originalValue;
    $(function()
    {
        originalValue = $('#IndividualSystemSerialNumberCompanyId').val();
        $('#IndividualSystemSerialNumberCompanyId').change(function()
        {
            var main     = $(this);
            var newValue = main.val();

            $('#ChangeCompanyName').remove();

            if(originalValue != newValue)
            {
                main.after('<span id="ChangeCompanyName" style="color:red;">&nbsp;&nbsp;&nbsp;Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
            }
        });
    });

</script>

我已经在块之外定义它document.ready并且它已经解决了。可能是因为小提琴会自动调用document.ready所以旧代码在那里工作,但上面的变化对我来说无处不在。

再次感谢您花时间。

于 2013-04-29T06:00:50.610 回答
0

这是因为你originalValue永远不会得到更新,它总是等于2,你需要在你的if声明中为它分配新的值:

if(originalValue != newValue)
{
    console.log(originalValue);
    originalValue = newValue;          
    main.after('<span id="ChangeCompanyName" style="color:red;">&nbsp;&nbsp;&nbsp;Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
}
于 2013-04-29T05:50:31.693 回答