我遇到了一个奇怪的问题。我有一个包含一些值的下拉列表。使用JQuery代码我试图将一个选项设置为选定的选项:
$('.myform #company').val('10K');
company元素是下拉列表选择,其中一个选项的值为10K。如果我在同一个下拉列表中为不同的值尝试相同的代码,它就可以正常工作。
我有点不知所措。我很难想到实际的字符串值10K是导致它的原因......
由于
<option value="">Select</option>
<option value="10K ">10k Filing</option>
<option value="501C">501c3 Filings</option>
<option value="F990">Form 990</option>
答案 0 :(得分:0)
您可以列出此下拉菜单的<option>
值吗?
您的选择器只需要$('#company')
答案 1 :(得分:0)
if($('#company').length){
for (i = 0; i < document.getElementById('#company').options.length; i++) {
if (document.getElementById('#company').options[i].value).toLowerCase() == '10k' {
document.getElementById('#company').selectedIndex = i;
break;
}
}
}
我发现在这种情况下使用纯javascript更容易...有jQuery插件可以帮助选择框操作,但即使我作为一个大jQuery粉丝认为这样做是非常不明智的,当你可以实现这些任务与纯javascript更高效,无需加载额外的库。
答案 2 :(得分:0)
好的javascript可以执行xml转换,所以你可以写一个为你做这个。我的xslt上有点生锈,但它看起来像这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<Select>
<xsl:template match="/">
<xsl:for-each select="option">
<option value="<xsl:value-of select="catalog/cd/title"/>"><xsl:value-of select="catalog/cd/title"/> Filling</option>
</xsl:for-each>
</xsl:template>
</Select>
</xsl:stylesheet>
所以这就是你需要的东西,你可能需要更多地研究它,但你明白了
答案 3 :(得分:0)
很惊讶没有人指出这一点,但该选项的价值有一个额外的空间:
<option value="10K ">10k Filing</option>