this.value正在使用Firefox,但不适用于Internet Explorer?

时间:2010-07-16 12:05:35

标签: javascript ajax internet-explorer

我在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>

3 个答案:

答案 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