我有一行代码只能在大多数情况下工作
$('[name=' + results.rows.item(i).id + ']').get(0).selectedIndex = selIndex;
由于某种原因,当我在Internet Explorer 10中运行它时,它没有正确地将所选索引更改为我提供的索引。好像它正在重置或根本没有改变。我在chrome中尝试相同的代码,它在100%的时间内完美运行。这是一个错误吗?
html是使用XSLT模板构建的,因此所有的value属性都设置为相同的
<!-- dropdown input template -->
<xsl:template match="DataField[@ControlType='DropDown']" priority="1">
<td colspan="{DisplayOptions/@ColSpan}" location="{DisplayOptions/@Column}">
<div class="divider">
<xsl:value-of select="FieldOptions/@DisplayName "/>
</div>
<div class="divider">
<select name="userInput_{@Name}" class="dropbox" select="">
<option>
<xsl:value-of select="FieldOptions/@LookupType"/>
</option>
</select>
</div>
<xsl:apply-templates select="SubDataFields"/>
</td>
更新3 这是JSFIDDLE。它似乎在那里工作正常吗?虽然它不是完全相同的代码,但是他的相似之处。我认为它与早期或晚期渲染有关?
更新2 我注意到,当我调试时,我抛出了一个jquery异常
Exception was thrown at line 4224, column 4 in http://localhost:50297/Scripts/jquery-1.9.1.js
Exception was thrown at line 4242, column 4 in http://localhost:50297/Scripts/jquery-1.9.1.js
我想知道这是否是导致代码无法工作的原因。当我在IE10中仅在其他浏览器中调试时,错误未显示。
更新 问题在Safari和Opera中发生,但在我的服务器上托管后一切正常。直到我在IE10上试试。现在它做同样的事情,如果我刷新选定的索引更改为-1。我检查之前的值,它是0,我分配的值是正确的但是在分配之后它会改变任何想法吗?