这是我第一次在Safari中尝试JSFiddle。有没有一些愚蠢的理由,JSFiddle在Safari 4中无法正常工作?有人报告说Safari 5可以正常工作。那么我在这里错过了什么?JSFiddle无法在Windows 4.0的Safari 4.0.5上工作
的JavaScript:
$(document).ready(function(){
$("#productSize").change(function(){
var me = $(this);
var avail = me.find("option:selected").html().split("-")[1].trim();
$("#quantity option").each(function() {
$(this).remove();
});
for(var i=1; i<= avail; i++) {
$("#quantity").append("<option>"+i+"</option>");
}
});
});
HTML:
<label>Sizes
<select name="item_options[product_size]" id="productSize">
<option value="s">small - 10</option>
<option value="m">medium - 1</option>
<option value="l">large - 5</option>
<option value="xl">extra large - 10</option>
</select>
</label>
<label>Quantity
<select name="quantity" id="quantity">
</select>
</label>
的jsfiddle证明问题:jsfiddle
UPDATE: 我在所有的OT尝试这种她的浏览器,在所有这些浏览器中发现不同的行为。这正是它在Firefox中所要做的。没问题。 IE浏览器似乎不喜欢我打电话trim(),所以我已经改变了JSFiddle以适应这一点。
$(document).ready(function(){
$("#productSize").change(function(){
var me = $(this);
var myText = me.find("option:selected").text().split("-")[1];
var avail = parseInt($.trim(myText), 10);
$("#quantity option").remove();
for(var i=1; i<= avail; i++) {
$("#quantity").append("<option value='"+i+"'>"+i+"</option>");
}
});
});
Updated JSFiddle这已经过测试,在IE,FF,Chrome的工作,但我还是什么也没得到,在$(文件)。就绪&的.change()甚至没有在Safari 4
执行更新#2 只是为了进一步阐明,这个jquery代码不会在JSFiddle/safari 4.0.5中运行。我甚至不得到警报所以.change()不运行......
$(document).ready(function(){
$("#productSize").change(function(){
alert("Hello World");
});
});
仅供参考 - 它适用于Windows 7上的Safari 5.1 –
什么“不工作”? – Matt
它不会为我使用Safari 4做任何事情。事实上,我不能让任何JSFiddles在Safari 4中工作,除非它有一个非常简单的警报(“hello”)。 – kasdega