Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dynamic HTML5 Datalist

So I am having a bit of an issue getting my HTML5 Datalist to populate dynamically from a javascript array that is being populated from values of a key of an object that is being populated via rows in a MySQL database. Phew!

MySQL Database => Table => Rows => JSON => Javascript Objects => "firstname" & "lastname" key => Array of first names => Datalist Options.

I successfully created the Array of names:

var nameArray = ["Rick Bross","Madison Smith","Jack Johnson"]; //Example of my array

And set up a loop to .append them to the datalist:

for (var i = 0; i < nameArray.length; i++) {
    alert(i + " - " + nameArray[i]); //Works Fine, "0 - Rick Bross", "1 - Madison Smith", etc.
    $('#potentials').append("<option value='" + nameArray[i] + ">"); // Not working.
}

Here is my HTML:

<input tabindex='1' list="potentials" type="text" placeholder="First &amp; Last Name" id="name" name="name"></input>
<datalist id="potentials">
</datalist>

Why this isn't populating?

like image 214
Rick Bross Avatar asked Apr 15 '13 11:04

Rick Bross


People also ask

Is Datalist tag in HTML5?

The datalist tag is introduced in HTML5. The <datalist> tag should be used with an <input< element that contains a "list" attribute. The value of "list" attribute is linked with the datalist id.

Is Datalist supported by all browsers?

Unfortunately, Internet Explorer and Chrome are the only browsers to support datalists on range inputs at this time.

What is difference between Datalist and select?

Select input element presents options for the users from which they need to select one of them. On the otherhand, Datalist presents a list of suggested values to the associated input form (text) field and users are free to select one of those suggested values or type in their own value.

How the Datalist tag can be used in HTML?

The <datalist> tag is used to provide an "autocomplete" feature for <input> elements. Users will see a drop-down list of pre-defined options as they input data.


1 Answers

There was a missing apostrophe, try:

$('#potentials').append("<option value='" + nameArray[i] + "'>");
like image 85
kuncajs Avatar answered Oct 14 '22 17:10

kuncajs