asp.net mvc - Jquery UI datepicker renders in every tr except the last -


i have piece of jquery code gets dynamically called, , generates number of tr tags. in each tr tag have input of type text set jquery ui datepicker. datepicker render in every tr tag except last 1 consistently no matter how many tr tags generated. missing? here responsible jquery code:

// create order row var addorderrow = function(id, name) { var self = this; self.name = name; self.id = id;   self.output = "<tr><th>code</th><th>product</th><th>options</th><th>size</th><th>package</th>" +     "<th>price</th><th>quantity</th><th>delivery date</th></tr>" +     "<tr><td><select name='prodcode'></select></td><td><select name='product'></select>" +     "</td><td><select name='options'></select></td><td><select name='size'></select></td><td>" +     "<select name='package'></select></td><td><select name='price'></select></td>" +     "<td><input type='text' name='quantity'></input></td><td><input type='text' " +     "name='deliverdate'></input>" +     "</td></tr>";  // assign datepicker deliverdate $(function() {     $("input[name=deliverdate]").datepicker({mindate: 0}); });  // populate product code getpcodeproducts();  return self.output; }; 

you don't appear calling function use assign datepicker. not mention, "deliverdate" won't available assign until add output dom. function needs come after whatever you're calling fire addorderrow. then, you'll need way target if there multiple rows same name. concatenate "id" parameter in name field in output, call function, add output code page , do:

$("input[name=deliverdate"+id+"]").datepicker({mindate: 0}); 

in assume loop you're doing in.

added example question in comment. note: don't have time test this, might have tweak bit, general idea:

<html> <head>     <title>example</title>     <script type="text/javascript">         function addorderrow(id, name)         {             return "<tr><td><input type='text' name='deliverdate'"+id+"'></input><input type='button' name='cmd'"+id+"' onclick='processrowupdate(\'"+id+"\');'></input></td></tr>";         }         function processrowupdate(id)         {             var deliverdate = $("input[name=deliverdate"+id+"]").val();             alert(deliverdate);         }         var arrorders = [{name:"name1", id:"1"}, {name:"name2", id:"2"}];          (var = 0; < arrorder.length; i++)         {             $('#mytable > tbody:last').append(addorderrow(arrorder[i].name, arrorder[i].id));             $("input[name=deliverdate"+id+"]").datepicker({mindate: 0});         }     </script </head> <body>     <table id="orders"></div> </body> </html> 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -