我在onChange
上发生了select
个事件。
当我执行alert(this.value)
时,它正在使用Firefox,但不适用于Internet Explorer。为什么不呢?
这是代码:
<select onchange="new Ajax.Updater('fiches', '/~project/index.php/folder/fiche', {asynchronous:true, evalScripts:true, parameters:'fiche=' + this.value});" class="input" id="fiche" name="fiche">
<option value="0">Choisir ma fiche</option>
<option value="1">Vous etes salariés</option>
<option value="2">Sans emploi</option>
</select>
答案 0 :(得分:3)
我过去曾经遇到过与IE相似的问题并选择了。选择项的value属性是IE中的一个难题。通常,解决方案是关心所选选项(而不是select元素)并访问其text属性。
我将在jQuery中执行此操作以访问所选文本:
$("#my_select_item option:selected").text()
因此,在原始JavaScript中应该是这样的:
document.getElementById("myselect").options[document.getElementById("myselect").selectedIndex)].text
或
document.getElementById("myselect").options[document.getElementById("myselect").selectedIndex)].value
这是使选择+ JS在IE中发生的一般想法。
答案 1 :(得分:1)
尝试this.options[this.selectedIndex].value
。
答案 2 :(得分:0)
看起来你正在使用Prototype。尝试拨打$F(this)
而不是this.value
。