我有以下代码
<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;"> Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
}
});
});
</script>
但是上面的代码不是每次都工作,在console.log(originalValue)
中给我2,这意味着如果我选择旧的选定值,它总是执行if
条件。
需要先定义var originalValue;
吗?
谢谢你的帮助,看看我的问题,但在jsfiddle开发Demo期间,我解决了这个问题。
我已经使用了下面的代码,它的工作完美。
<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;"> Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
}
});
});
</script>
我已经在document.ready
块之外定义了它,它已经解决了。可能是因为小提琴自动调用document.ready
,所以旧代码在那里工作,但上面的更改对我来说无处不在。
再次感谢您的光临。
这是因为你的originalValue
永远不会得到更新,它总是等于2
,你需要在你的if
语句中给它分配新的值:
if(originalValue != newValue)
{
console.log(originalValue);
originalValue = newValue;
main.after('<span id="ChangeCompanyName" style="color:red;"> Changing Company name will permanatly trasnfer IPC to changed company and old IPC record will be disabled.</span>');
}