JSFiddle 无法在 Windows 上的 Safari 4.0.5 中工作
这是我第一次在 Safari 中尝试 JSFiddle。是否有一些愚蠢的原因导致 JSFiddle 在 Safari 4 中无法正常工作?有人确实报告说 Safari 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
更新: 我正在所有其他浏览器中尝试此操作,发现所有浏览器都有不同的行为。这完全符合 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>");
}
});
});
更新的 JSFiddle 这已经过测试并且可以在 IE、FF、Chrome 中运行,但我仍然一无所获, $(document).ready & .change() 甚至不会在 Safari 4 中执行。
UPDATE #2 为了进一步澄清,这个 Jquery 代码不能在 JSFiddle/safari 4.0.5 中运行。我什至没有收到警报,因此 .change() 没有运行......
$(document).ready(function(){
$("#productSize").change(function(){
alert("Hello World");
});
});
This is the first time I've ever tried a JSFiddle in Safari. Is there some goofy reason that JSFiddle wouldn't work right in Safari 4? Someone did report that Safari 5 works fine. So what am I missing here?
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 demonstrating problem: jsfiddle
UPDATE:
I'm trying this in all other browsers, finding different behavior in all of them. This does exactly what it's supposed to in Firefox. No problems. IE doesn't seem to like how I'm calling trim() so I've changed the JSFiddle to accommodate that.
$(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 This has been tested and works in IE, FF, Chrome, but still I get nothing, the $(document).ready & the .change() don't even execute in Safari 4.
UPDATE #2
Just to clarify even further, this Jquery code does not run in JSFiddle/safari 4.0.5. I don't even get the alert so the .change() isn't running...
$(document).ready(function(){
$("#productSize").change(function(){
alert("Hello World");
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试 jsFiddle JSLint 按钮 - 它显示了一些错误,我认为这些错误导致了您的显示问题。
Try the jsFiddle JSLint button - it shows a couple of errors which I think are causing your display problems.
试试这个
Try this
在我看来,JSFiddle 和 Safari 4.0.5 有一个限制。我什至无法让最简单的选择器工作并启动一个非常简单的绑定。
这适用于我尝试过的所有浏览器(FF 多个版本、IE 7 和 8、Chrome 12.0.x 、Safari 5.1)。如果有人能解释为什么我很想听听它,否则我只会假设这是 Safari 4 或 JSFiddle 中的一个错误。不管怎样,我都会转向更新的浏览器。
It appears to me that there is a limitation with JSFiddle and Safari 4.0.5. I can't get even the simplest selectors to work and kick off a very simple binding.
This works in every browser I've tried (FF multiple versions, IE 7 & 8, Chrome 12.0.x, & Safari 5.1). If anyone can explain why I'd love to hear it otherwise I'm just going to assume this is a bug in either Safari 4 or JSFiddle. Either way I'm moving onto more current browsers.