admin管理员组文章数量:1304253
I want to get selected datalist attribute value when i change datalist my question is total different because i want my code in javascript not in jquery.
function get_data() {
var sel = document.getElementById("data");
var get_value_of_selected_datalist = sel.getElementsByTagName("option")[sel.selectedIndex].getAttribute("value");
alert(get_value_of_selected_datalist);
}
<datalist id="data" onchange="get_data()">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</datalist>
I want to get selected datalist attribute value when i change datalist my question is total different because i want my code in javascript not in jquery.
function get_data() {
var sel = document.getElementById("data");
var get_value_of_selected_datalist = sel.getElementsByTagName("option")[sel.selectedIndex].getAttribute("value");
alert(get_value_of_selected_datalist);
}
<datalist id="data" onchange="get_data()">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</datalist>
Share
Improve this question
edited May 24, 2019 at 10:42
Bhavik Kalal
asked May 24, 2019 at 9:41
Bhavik KalalBhavik Kalal
651 gold badge1 silver badge9 bronze badges
2
-
what's error in the code? change your
datalist
toselect
– Kaushik Commented May 24, 2019 at 9:43 - 2 i want only datalist – Bhavik Kalal Commented May 24, 2019 at 9:52
6 Answers
Reset to default 5
function get_data(){
var val = document.getElementById("data1").value;
alert(val);
}
<input id="data1" list="data" onChange="get_data()">
<datalist id="data">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</datalist>
The
<datalist>
tag specifies a list of pre-defined options for an<input>
element.
I think you are using datalist
instead select
tag
Replace the datalist
by select
tag.
get_data = function() {
var sel = document.getElementById("data");
var get_value_of_selected_datalist = sel.getElementsByTagName("option")[sel.selectedIndex].getAttribute("value");
console.log(get_value_of_selected_datalist);
}
<select id="data" onchange="get_data()">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</select>
Or if you want to use <datalist>
you can use event onchange on the <input>
tag and check if the value of your input is into the values of datalist.
Like
get_data = function(elem) {
var options = document.getElementById('data').getElementsByTagName('option');
var optionVals = [],
i = 0;
for (i; i < options.length; i += 1) {
optionVals.push(options[i].value);
}
if (optionVals.indexOf(elem.value) > -1) {
console.log(elem.value);
}
}
<input list="data" onchange="get_data(this)">
<datalist id="data">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</datalist>
You will need an input
and add the change eventlistener to that input
function get_data(elem) {
alert(elem.value)
}
<input list="data" name="data" onchange='get_data(this)'>
<datalist id="data">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</datalist>
Add input tag in your code apply onchange event in that tag
<input list="courses" name="courses" onchange="getData(this)">
Check the below code it may helpful
function getData(obj){
alert(obj.value)
}
<input list="courses" name="courses" onchange="getData(this)">
<datalist id="courses">
<option value="Java">
<option value="JavaScript">
<option value="Node">
<option value="Artificial Intelligence">
<option value="Machine Learning">
</datalist>
Note: The datalist tag is not supported in Internet Explorer 9 and earlier versions, or in Safari 12.0 and earlier versions.
function get_data(){
var sel = document.getElementById("data");
var get_value_of_selected_datalist = sel.getElementsByTagName("option")[sel.selectedIndex].getAttribute("value");
alert(get_value_of_selected_datalist);
}
<select id="data" onchange="get_data()">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</select>
Note:
Point 1: <select>
element is used to create a drop-down list.
Point 2: <option>
tags inside the <select>
element define the available options in the list
Do something like this, pass event as a parameter to the function. Event will hold the value of HTML from where it is called.
function get_data(event){
alert(event.target.value);
}
<select id="data" onchange="get_data(event)">
<option value="one">Option 1 Here</option>
<option value="two">Option 2 Here</option>
</select>
本文标签: how can i use onchange function on datalist by javascriptStack Overflow
版权声明:本文标题:how can i use onchange function on datalist by javascript? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741768982a2396635.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论