2016-04-07 16 views
0

My url bağlantı böylece http://localhost:50255/product/filter/manufacturer/3jquery undefined 'katılmak'

gibi ve belge yükü üzerinde, ben çok

$(window).load(function(){ 
    var pathname = window.location.pathname.split("/"); 
    var filter = pathname[pathname.length-3]; 
      if(filter === 'filter'){ 
       var option = pathname[pathname.length-2]; 
       var id = pathname[pathname.length-1]; 
       $("#ManufacturerID").val(id).trigger("change"); 
      } 
     }); 

gibi manufacturer 3 değerini ayarlamak için deneyin ama hata alıyorum

özelliği okunamıyor

tanımsız

arasında 'katılmak'

Benim html biçimlendirme ben yanlış burada yapıyorum

<div class="select2-container select2-container-multi js-example-basic-multiple col-sm-12" id="s2id_ManufacturerID" style="border: 1px solid rgba(0, 0, 0, 0.14902); display: block;"> 
     <ul class="select2-choices"> 
      <li class="select2-search-field">  
      <label for="s2id_autogen6" class="select2-offscreen"></label>  
      <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input select2-default" id="s2id_autogen6" placeholder="" style="width: 1004px;"> 
      </li> 
     </ul> 
     <div class="select2-drop select2-drop-multi select2-display-none select2-drop-active"> 
     <ul class="select2-results"> 
      <li class="select2-no-results">No matches found</li> 
     </ul> 
     </div> 
    </div> 


    <select id="ManufacturerID" class="js-example-basic-multiple col-sm-12" multiple="multiple" placeholder="Κατασκευαστές" style="border: 1px solid rgba(0, 0, 0, 0.14902); display: none;" tabindex="-1"> 
     <option value="1">manufacturer 1</option> 
     <option value="2">manufacturer 2</option> 
     <option value="3">manufacturer 3</option> 
    </select> 

mı? Yorumlara

GÜNCELLEME sayesinde hata senin sorunun e.val tanımlanmamış olduğuna inanıyoruz aşağıdaki fonksiyonu

$(function() { 
      $('select').select2() 
      .on("change", function (e) { 
       var id = '#sel' + $(this).attr("id"); 
       var array = e.val.join(","); 
       $(id).val(array); 
       PostIt(); 
      }) 
     }); 
+3

ile değiştirmeyi deneyin. Gönderdiğiniz JS kodunun yaşadığınız hatayı oluşturduğuna inanmıyorum. Hata, 'undefined' olan bir nesne üzerinde 'join' adında bir özellik okumayı denediğinizi gösteriyor. Ancak kodunuzdaki hiçbir şey, bu "join" özelliğini veya hangi nesneyi okuyacağınızı gösterir. – wing

+1

Bir değişiklik olayını tetikliyorsunuz, hatayı atabilecek bir öğe üzerinde değişiklik işleyiciniz var mı? –

+0

@wing Aramayla ilgili bir günlüğüne beni kurtardı. Şimdi neden e.val undefined olduğunu anlamaya çalışıyorum :) – OrElse

cevap

İlgili konular