How can I dynamically set the options from my html select field with Javascript? This is my page setup:
<form name="test">   <table>     <tr>       <td class='dataleft'>Product: </td>       <td><select name='inptProduct'></select></td>     </tr>   </table> </form>   I have all values in an array. This is the location to set the <option>s.
for(var i = 0; i < productArray.length; i++) {     console.log("<option value='" + productArray[i] + "'>" + productArray[i] + "</option>"); }   PS: jQuery can be used.
Solution: This is the final solution I was looking for. It does not apply the new options to the select field. It removes all first, and then adds the new ones:
var optionsAsString = ""; for(var i = 0; i < productArray.length; i++) {     optionsAsString += "<option value='" + productArray[i] + "'>" + productArray[i] + "</option>"; } $("select[name='inptProduct']").find('option').remove().end().append($(optionsAsString)); 
                var select = $("<select></select>"); var opt = $("<option></option"); opt. val("1"); opt. html("Option 1"); select.
wellyou have almost done it all:
var optionsAsString = ""; for(var i = 0; i < productArray.length; i++) {     optionsAsString += "<option value='" + productArray[i] + "'>" + productArray[i] + "</option>"; } $( 'select[name="inptProduct"]' ).append( optionsAsString );   EDIT removed $ wrapper around last optionsAsString as append automatically converts strings
var $inputProduct = $("select[name='inputProduct']")  $(productArray).each(function(i, v){      $inputProduct.append($("<option>", { value: v, html: v })); }); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With