我希望在不使用onchange
属性的情况下获得相同的结果。
一些想法?
这是HTML:
<select onchange="filtro(this)" id="tipo" name="noticia/conteudo/tipo">
<option value="Layout1">Layout1</option>
<option value="Layout2">Layout2</option>
<option value="Layout3">Layout3</option>
<option value="Layout4">Layout4</option>
<option value="Layout5">Layout5</option>
</select>
这是JS:
function filtro(a) {
var x = (a.value || a.options[a.selectedIndex].value);
alert(x);
if (x == "Layout4"){
alert('test4');
}
}
答案 0 :(得分:2)
您可以添加事件侦听器以避免使用onchange属性。
HTML:
<select id="tipo" name="noticia/conteudo/tipo">
<option value="Layout1">Layout1</option>
<option value="Layout2">Layout2</option>
<option value="Layout3">Layout3</option>
<option value="Layout4">Layout4</option>
<option value="Layout5">Layout5</option>
</select>
JavaScript的:
function filtro(a) {
var x = (a.value || a.options[a.selectedIndex].value);
alert(x);
if (x == "Layout4"){
alert('test4');
}
}
var sel = document.getElementById('tipo');
sel.addEventListener('change', function() { filtro(sel) }, false);
答案 1 :(得分:1)
你可以轻松地做到这一点
var e = document.getElementById("tipo");
var tipoValue = e.options[e.selectedIndex].value;
将使tipoValue成为所选选项的值。 如果您想获得文本,可以使用:
var e = document.getElementById("tipo");
var tipoText = e.options[e.selectedIndex].text;
一般来说,我的建议是考虑引入一些javascript库,例如jQuery
答案 2 :(得分:0)
您只能在没有属性
的js中执行此操作document.getElementById("id").onchange=function(){ ... };