jquery - $.ajax first round populate of dropdown not working -


i have situation, click dynamic link opens page fires $.ajax should populate dropdown, if hit refresh populates dropdown, same think if click link first time not update dropdown if on browser , click same link again, populates missing something. :) 1 has me. have moved code between $(document).read() $(window).load() test.

$(window).load(function () {     var value = getparam("bookchapter");     $("#bookname").change(function () {         loadchapters(this.value);     });     var bookparts = value.split(".");      var bname = bookparts[0];     var bchapt = bookparts[1];     $('#chapter option').empty();     $('#bookname').val(bname);     loadchapters(bname);     $('#chapter').val(bchapt); }); $(document).ready(function () {     var indexno = $("#bookname").prop("selectedindex");     var bookname = $("#bookname>option:selected").text();     loadchapters(bookname);     //$("#bookname").change(function () {     //    loadchapters(this.value);     //});      var loc = document.location.hash.substring(1);     $(document.getelementbyid(loc)).css("color", "blue");     $(document.getelementbyid(loc)).css("font-weight", "bold");  });  function loadchapters(book) {      $.ajax({         type: 'get',         url: '/book/loadchapters',         data: 'bookname=' + book,         contenttype: 'application/json; charset=utf-8',         cache: false,         datatype: 'json',     }).done(function (data) {         alert($('#chapter option').length);         if ($('#chapter option').length > 0) {             $('#chapter').empty();         }         $(data).each(function () {              var option = new option(this.value, this.label);             $("#chapter").append(option);         });          var val = getparam("bookchapter");          var bookparts = val.split(".");          var bname = bookparts[0];         var bchapt = bookparts[1];         $('#chapter').val(bchapt);      }); };  function getparam(name) {     var value = "";     if (window.location.hash) {         var k = window.location.tostring();         value = k.substring(0, k.indexof("#") );     }     else {         value = window.location.tostring();     }     if (value.indexof("?")) {         value = value.substring(value.indexof("?") + 1, value.length);         var params = value.split("&");         if (params) {             (var = 0; < params.length; i++) {                 var pair = params[i].split('=');                 if (decodeuricomponent(pair[0]) == name)                     return decodeuricomponent(pair[1]);             }         }     }     else {         return "";     }   } 

index.cshtml

<h2>book</h2> <form method="get" action="#"> @html.dropdownlist("bookname", (selectlist)viewbag.bookname, "--select--", "bookname") @*(string)viewbag.inboek*@ @html.dropdownlist("chapter", enumerable.empty<selectlistitem>())  <button value="submit" type="submit">gaan na</button>  <table class="skrifkolom">     <thead>         <tr>             <th>no</th>             <th>vers</th>         </tr>      </thead>     @if (model != null)     {         foreach (var item in model)         {         <tr  id="@item.versnommer">              <td>@item.versnommer</td>             <td>@item.vers</td>         </tr>          }     } </table>   </form> 


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -