<form name="form1">
Currency:<br><select name="currency" onchange='select()'>
<option name ='usd'>USD</option>
<option>Euro</option>
<option name ='won'>Won</option>
</select>
</form>
我无法执行onChange函数,但它在FF,opera和chrome中工作正常吗?
谁知道为什么?答案 0 :(得分:2)
<script language="javascript">
function TextValue(TestValue)
{
document.f2.samptext.value=TestValue;
}
</script>
<form name="f2">
<select name="select" onchange="TextValue(this.value)">
<option value="First">First</option>
<option value="Second">Second</option>
</select>
<input type="text" name="samptext" id="samptext" />
</form>
答案 1 :(得分:1)
对我有用的是下面。但是这个
需要Jquery<script language="javascript">
function TextValue()
{
var value = $('#selectThis').val();
}
</script>
<form name="f2">
<select name="select" onchange="TextValue() id="selectThis">
<option value="First">First</option>
<option value="Second">Second</option>
</select>
<input type="text" name="samptext" id="samptext" />
</form>
答案 2 :(得分:0)
请向我们展示select()函数,它是失败的。
工作示例:http://jsfiddle.net/mplungjan/fXacE/
请注意,我建议的脚本既不需要名称也不需要id,但如果你使用document.getElementById,你必须拥有一个ID,因为在2011年,只有IE会重载getElementById以获得一个命名元素
另外我想指出一些错误的语法 - 选项上没有名称。也可以在引号上保持一致
var currenCurrency = "";
function setCurrency(sel) {
currentCurrency = sel.options[sel.selectedIndex].value; // or sel.value
console.log(currentCurrency);
}
<form name="form1">
Currency:<br>
<select name="currency" id="currency" onchange="setCurrency(this)">
<option value="">Please select</option>
<option value="usd">USD</option>
<option value="euro">Euro</option>
<option value="won">Won</option>
</select>
</form>
如果您不想要内联事件处理程序,那么在普通JS中您可以使用
var currentCurrency="";
window.onload=function() { // addEventListener is better but not supported by IE<v10
document.getElementById("currency").onchange=function() {
currentCurrency=this.options[this.selectedIndex].value; // or sel.value
}
document.getElementById("currency").onchange(); // set the current value
}
<强> 的jQuery 强>
$("#currency option:selected").text()
和
$("#currency option:selected").val()
与$("#currency").val()
答案 3 :(得分:0)
如果分配给onchange的函数未在IE中给出预期结果,则可能是监听器未能执行而不是未分派事件的结果。用一个简单的函数替换监听器,看看是否有效。
e.g。
<form name="form1">
Currency:<br>
<select name="currency" onchange='this.form.inp0.value = this.value'>
<option value='usd'>USD</option>
<option value="euro">Euro</option>
<option value='kpw'>Won</option>
</select>
<input type="text" name="inp0">
</form>