在不使用onchange属性的情况下获取选定值
我想要使用相同的结果而不使用onchange
属性。 有些想法?在不使用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');
}
}
你只能在JS做到这一点没有属性
document.getElementById("id").onchange=function(){ ... };
帮助哥们儿! – user1309015 2013-02-25 19:36:22
你可以做的简单方法
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
TKS帮助budy ... – user1309015 2013-02-25 19:37:38
欢迎您! – vaske 2013-02-26 15:37:13
您可以添加一个事件监听器避免使用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);
的jsfiddle:http://jsfiddle.net/jeffshaver/HfmWV/7/
Tks dude ...就是这样! – user1309015 2013-02-25 19:34:06
唯一的问题,它不适用于IE 8或更低版本...... – user1309015 2013-02-25 20:15:25
你知道如何解决? – user1309015 2013-02-25 20:26:23
如果不改变,什么时候? – Barmar 2013-02-25 19:05:08
我想要ecxatly代码正在做什么,但不使用onchange标签里面的选择标签 – user1309015 2013-02-25 19:14:31