我有一个标准的选择框,我通过附加选项使用jquery填充,但由于某种原因,IE9只显示所选选项的第一个字符.不用说它在FireFox和Chrome中完美运行,但我必须支持IE9.我尝试了IE9兼容模式,但它没有任何区别,也没有设置选择或选项的样式.
有没有人见过这个问题.是什么造成的?你怎么修好它的?

简化的代码示例:
<select id="selectCCY" ValueColumn="ccyID" DisplayColumn="ccySymbol" ></select>
$.each(res.result, function (key, value) {
$('#selectCCY').append('<option value="' + value[$('#selectCCY').attr('ValueColumn')]+ '">' + value[$('#selectCCY').attr('DisplayColumn')] + '</option>');
});
Run Code Online (Sandbox Code Playgroud)
res.result是一个简单的json数组,如下所示:
[{"ccyID":1,"ccySymbol":"GBP"},{"ccyID":2,"ccySymbol":"AUD"},{"ccyID":3,"ccySymbol":"USD"}]
Run Code Online (Sandbox Code Playgroud)
OH BUGGER !!! 它在我的简化示例中工作正常,因此问题出在其他地方.抱歉.原始代码在这里粘贴很长很复杂,但是当我找到答案时会通知您.
一段时间以后....
好的,我把问题归结为$(选择器).each()循环中的ajax调用.循环遍历所有选择框并异步填充选项.如果我进行同步调用,则选择框具有正确的宽度并正确显示,但如果是异步调用,则选择框仅显示图像中的第一个字符.仍在努力,将再次回到你身边.
我仍然想知道什么会导致选择框显示不正确.我可以做变通办法并让它正确显示,但这不能回答这个问题.它只是一个带有选项的选项,它应该始终正常工作,对吗?
经过一个周末无视这个问题......
对,我找到了解决方法.在执行ajax调用以填充选择框之前,我首先将css显示属性设置为'none',然后填充它,最后当ajax调用和填充完成时,我只删除css display'none'属性.
所以我仍然不知道为什么IE不喜欢我,但我们至少有一个解决方案.
我刚刚开始使用Elixir.我正在使用ExUnit编写一些测试,用于我自己实现的简单的Enumerable函数,而不使用标准的Enum模块.
在我的测试中,我发现每当我引用列表时[7, 8, 9],一旦它在stdout中打印,我就会看到char列表'\a\b\t'.为什么会发生这种事情?
如果我理解正确,traits是最接近Java接口的东西,类构造函数会自动设置变量.
但是如果我有一个扩展特征的类并且有一个构造函数来设置变量的特性,那么会是这样的:
trait Foo {
var foo: String
}
class Bar (foo: String) extends Foo { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
我想要的地方foo当我制作一个Bar物体时,就设置了这个特征的字符串.
编译器似乎给我错误.实现这一目标的正确方法是什么?
由于在我的项目中使用了子模块,我发现自己常常在"(没有分支)".因为我也在为那些我正在那里提交的子模块添加代码.当我想要推送那些子模块时,我需要在一个分支上.因此我的问题是:
在git(命令行)中是否有方法/快捷方式将本地分支设置为当前提交/ HEAD而不绕道而行
git checkout the_branch
git reset --hard <previous commit-ish>
Run Code Online (Sandbox Code Playgroud)
更确切地说,上面"绕道而行"的真正问题是我暂时离开了原来的HEAD和checkout-command.这可以通过git branch -f命令避免(感谢CharlesB).
你如何比较Fish中的两个字符串(就像"abc" == "def"在其他语言中一样)?
到目前为止,我已经使用了一个组合contains(事实证明contains "" $a只有返回,0如果$a是空字符串,虽然在所有情况下似乎都不适用于我)和switch(使用a case "what_i_want_to_match"和a case '*').但是,这些方法似乎都不是特别正确.
我需要在我的应用程序中进行一些简单的JSON解析,Douglas Crockford库似乎正是我需要的.
但是,我似乎遇到了一个问题.我收到以下错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0
我google了一下,我得到的印象是这是由于某些版本不兼容.我试过改变Java版本,但它似乎没有帮助.我在我的程序中使用Java 7和Java 7功能,最终我想使用Java 7.
我该如何解决这个问题?
PS:我看过杰克逊和GSON,绝对不想使用任何一个,所以请不要建议替代.
我正在编写一个脚本,要求我在配置文件的特定部分添加行.例如
之前:
ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900
ServerActors=UWeb.WebServer
Run Code Online (Sandbox Code Playgroud)
后:
ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900
ServerActors=UWeb.WebServer
Run Code Online (Sandbox Code Playgroud)
如您所见,添加了一个新行.我的bash脚本如何插入该行?我猜我需要使用sed.
我有一个将文本映射到字母的函数:
sizeToLetterMap: function() {
return {
small_square: 's',
large_square: 'q',
thumbnail: 't',
small_240: 'm',
small_320: 'n',
medium_640: 'z',
medium_800: 'c',
large_1024: 'b',
large_1600: 'h',
large_2048: 'k',
original: 'o'
};
}
Run Code Online (Sandbox Code Playgroud)
这些字母用于创建flickr照片网址.因此,photoUrl函数接受图像对象和大小文本对象,并调用sizeToLetterMap来为该大小文本提供字母.
功能:
photoUrl(image, size_text): function () {
var size = this.sizeToLetterMap(size_text);
}
Run Code Online (Sandbox Code Playgroud)
我不认为将sizeToLetterMap作为函数进行适当的设计.我认为它更适合作为常数.如何在ReactJS中定义常量?
在阅读一段Haskell代码时,我发现了这个:<$>.在Haskell中它意味着什么?经过一些谷歌搜索,我仍然在黑暗中.
我有一个图像文件夹4MB- 让我们调用这个文件夹dsc_big/.我想用convert -define jpeg:extent=2MB它们将它们转换为under 2MB并复制dsc_big/*到dsc_small/已经存在的文件夹.
我试过,convert dsc_big/* -define jpeg:extent=2MB dsc_small/但产生的图像叫做-0,-1等等.
我该怎么办?