我有一个如下所示的数据列表框:
<td>
<input list="screens.screenid-datalist" type="text" id="screens.screenid" onblur="validate('0','0','jacques')">
<datalist id="screens.screenid-datalist">
<option value="Login"></option>
<option value="ScreenCreator"></option>
</datalist>
<label id="val-screens.screenid" class="Label_Error" style="visibility: hidden;">*</label>
</td>
我有一个 JavaScript 代码,它必须从这个数据列表中获取值。
我尝试了以下所有方法来获取值
document.getElementById('screens.screenid').value
document.getElementById('screens.screenid').text
document.getElementById('screens.screenid').innerHTML
document.getElementById('screens.screenid').option
但它似乎不起作用。
我的 JavaScript 或 HTML 代码有问题吗?
when I use the console to get the value:
花了一些时间才弄清楚这一点。看看我下面的代码:
function validate(){
console.log(document.getElementById('screens.screenid').value); //WORKS
console.log(document.getElementById('screens.screenid').text);
console.log(document.getElementById('screens.screenid').innerHTML);
console.log(document.getElementById('screens.screenid').option);
}
<input list="screens.screenid-datalist" type="text" id="screens.screenid" onblur="validate('0','0','jacques')">
<datalist id="screens.screenid-datalist">
<option value="Login"></option>
<option value="ScreenCreator"></option>
</datalist>
<label id="val-screens.screenid" class="Label_Error" style="visibility: hidden;">*</label>
<a href='#' onclick="validate">validate</a>
现在第一个将得到value
正如预期的那样,但是text
option
由于此处没有文字,因此无法正常工作。还,innerHTML
将为您提供子 html 而不是值。更进一步,你无法得到innerHTML
输入列表的,但您可以从数据列表中获取它。
尝试这个 :console.log(document.getElementById('screens.screenid-datalist').innerHTML);
我尝试了一下并得到了innerHTML
没有任何麻烦:
<option value="Login"></option>
<option value="ScreenCreator"></option>
在这里找到垃圾箱:http://jsbin.com/inigaj/1/edit http://jsbin.com/inigaj/1/edit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)