我有以下代码
<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)
我意味着如果我选择旧的选定值,它总是执行if
条件。
我之前需要定义var originalValue;
吗?
答案 0 :(得分:1)
感谢您的帮助,看看我的问题,但在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
所以旧代码在那里工作但是上面的变化对我来说无处不在。
再次感谢您花了很多时间。
答案 1 :(得分:0)
这是因为您的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>');
}