Jquery 全局变量未按预期工作
我有以下代码Jquery 全局变量未按预期工作,jquery,global-variables,Jquery,Global Variables,我有以下代码 <script type="text/javascript"> $(function() { var originalValue = $('#IndividualSystemSerialNumberCompanyId').val(); $('#IndividualSystemSerialNumberCompanyId').change(function() { var main
<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>
$(函数()
{
var originalValue=$('#IndividualSystemSerialNumberCompanyId').val();
$('#IndividualSystemSerialNumberCompanyId')。更改(函数()
{
var main=$(此值);
var newValue=main.val();
$(“#ChangeCompanyName”).remove();
if(原始值!=新值)
{
控制台日志(原始值);
main.after('更改公司名称将永久性地将IPC传输到更改的公司,并且旧的IPC记录将被禁用');
}
});
});
但上面的代码不起作用,每次都是在console.log(originalValue)
中给我2,我的意思是如果我选择旧的选择值,它总是执行if
条件
我是否需要定义
var原始值代码>之前?这是因为您的原始值始终等于2
,因此您需要在语句中为其指定新值,如果
语句:
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>');
}
if(originalValue!=newValue)
{
控制台日志(原始值);
原始值=新值;
main.after('更改公司名称将永久性地将IPC传输到更改的公司,并且旧的IPC记录将被禁用');
}
这是因为您的原始值始终等于2
,因此您需要在语句中为其指定新值,如果
语句:
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>');
}
if(originalValue!=newValue)
{
控制台日志(原始值);
原始值=新值;
main.after('更改公司名称将永久性地将IPC传输到更改的公司,并且旧的IPC记录将被禁用');
}
谢谢你的帮助,看看我的问题,但在JSFIDLE开发演示时,我解决了这个问题
我已经使用了下面的代码和它的工作完美
<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>
var初始值;
$(函数()
{
originalValue=$('#IndividualSystemSerialNumberCompanyId').val();
$('#IndividualSystemSerialNumberCompanyId')。更改(函数()
{
var main=$(此值);
var newValue=main.val();
$(“#ChangeCompanyName”).remove();
if(原始值!=新值)
{
main.after('更改公司名称将永久性地将IPC传输到更改的公司,并且旧的IPC记录将被禁用');
}
});
});
我已经在document.ready
块之外定义了它,它已经解决了。可能是因为fiddle do自动调用document.ready
所以旧代码在那里工作,但上面的更改对我来说无处不在
再次感谢您花费时间。感谢您的帮助并查看我的问题,但在JSFIDLE开发演示时,我解决了这个问题
我已经使用了下面的代码和它的工作完美
<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>
var初始值;
$(函数()
{
originalValue=$('#IndividualSystemSerialNumberCompanyId').val();
$('#IndividualSystemSerialNumberCompanyId')。更改(函数()
{
var main=$(此值);
var newValue=main.val();
$(“#ChangeCompanyName”).remove();
if(原始值!=新值)
{
main.after('更改公司名称将永久性地将IPC传输到更改的公司,并且旧的IPC记录将被禁用');
}
});
});
我已经在document.ready
块之外定义了它,它已经解决了。可能是因为fiddle do自动调用document.ready
所以旧代码在那里工作,但上面的更改对我来说无处不在
再次感谢您花费时间。我假设它也为newValue
的值提供了2。你检查过你的
元素结构是否正确了吗?@jrade是的,我有…对于newValue
我得到了正确的值。你是说当originalValue==newValue时,它仍然满足条件语句吗?@jrade,正如你所看到的,我正在尝试存储所选的选项
值进入originalValue
中,当选择框change
时,我将更改的值
分配给新值
,然后检查条件
当两个值不相同时…如果相同,则不执行任何操作如果值
不同,则显示消息,我假设它也为newValue
的值提供了2。你检查过你的
元素结构是否正确了吗?@jrade是的,我有…对于newValue
我得到了正确的值。你是说当originalValue==newValue时,它仍然满足条件语句吗?@jrade,正如你所看到的,我正在尝试存储所选的选项
值进入originalValue
中,当选择框change
时,我将更改的值
分配给新值
,然后检查条件
当两个值不相同时…如果相同,则不执行任何操作如果值
不同,则显示消息,谢谢你的回答,但你搞错了…我想要的是将页面加载选择存储到选项值存储到原始值中,当下拉时更改将其与更改的值进行比较,如果不匹配,则向用户显示消息…谢谢你的回答,但你搞错了…我想要的是存储页面加载选择选项
值至原始值
并在下拉时更改
将其与更改后的值进行比较,如果不匹配,则向用户显示消息。。。