形成一些原因,这似乎在FF中正常工作,但在Chrome中却没有。我试过包装$(window).load(function(){...});甚至删除页面上的所有其他Javascript(除了Jquery表单向导插件。
$('#state').change(function() {
var state = $("#state").val();
if (state === "CA" || state === "NV" || state === "OR" || state === "WA" || state === "AZ") {
$("#first .ins_link_next").val("insurance_type");
}
else {
$("#first .ins_link_next").val("out-of-area");
}
});
查看该页面
非常感谢任何帮助!
答案 0 :(得分:3)
input元素中有一个onKeyup处理程序,它将输入值设置为大写。这实际上分离了事件处理程序(在Chrome中)。要解决这个问题,一个解决方案是将onKeyup函数移动到更改函数中:
$('#statecode').change(function() {
this.value=this.value.toUpperCase();
var state = $("#statecode").val();
if (state === "CA" || state === "NV" || state === "OR" || state === "WA" || state === "AZ") {
$("#first .ins_link_next").val("insurance_type");
}
else {
$("#first .ins_link_next").val("out-of-area");
}
});
另外,你不需要$(window).load()来将你的函数包装在$(document).ready()中。
答案 1 :(得分:0)
删除你的功能周围的$(window).load( function() {
,这只会损坏内容。
有很多“$(function(){...”,它可能是一个原因,但我对此表示怀疑。
重点是,脚本有效......有时候。删除值时更常见。
实际上。有2个#state更改处理程序,请查找:
$(function() {
$('#state').change(function() {
$("#ins_type").val($('#ins_type')[0].defaultValue);
});
});
这就是执行问题,结果是随机的。删除那个唠叨小的人,享受;)
答案 2 :(得分:0)
roselan是对的,你$(window).load()
$(document).ready()
在Chrome控制台中,我禁用了键盘处理程序并且它有效。您可能只想将toUpperCase()代码移动到更改处理程序中。
这个jsfiddle进一步解决了你的问题:http://jsfiddle.net/G3CMH/当你更改keyup事件中的字段值时,更改事件不会因模糊而被触发。