更改JQuery,选择不在Safari中正确读取选项值。 我试过了: - 切换不同版本的jquery - 确保它在其他脚本之前加载 - 尝试使用.live而不是.change。 - 我也试过.on(改变)但在Safari上也有相同的结果。
JSfiddle:https://jsfiddle.net/ac87eemp/
在Chrome / Firefox中运行良好。在Safari中,输出默认为else条件并输出(在文本框输入值内):
ERROR !!!
HTML:
<div class="abc">
<select name="blahblah">
<option value="">Select an option...</option>
<option value="option 1">Option 1</option>
<option value="option 2">Option 2</option>
</select>
</div>
<div class="textbox">
<input type="text" value="">
</div>
JQuery的:
$('.abc select').change(function () {
var target = $('.abc select option:selected').val();
if(target === 'option 1'){
function displayText(){
var txt = 'hello 1';
$('.textbox input').val(txt);
$('.textbox input').attr('value', txt);
}
}
else if(target === 'option 2'){
function displayText(){
var txt = 'hello 2';
$('.textbox input').val(txt);
$('.textbox input').attr('value', txt);
}
}
else{
function displayText(){
var txt = 'ERROR!!!';
$('.textbox input').val(txt);
$('.textbox input').attr('value', txt);
}
}
return displayText();
});
答案 0 :(得分:1)
我通过删除条件内的函数来解决这个问题。
所以我从所有代码中删除了displayText()。 Safari显然存在从条件返回函数的问题。