2015-10-31 63 views
1

我有兩個下拉列表,當我點擊第一個裏面的項目,第二個是automaticaly更新,我用JQuery做這個。它的工作正常,但只有當第一個列表中沒有空格字符時,例如,如果我將「某個項目」作爲項目,它將什麼也不做,但對於「項目」它將更新另一個列表。這裏是Jquery代碼和Laravel PHP代碼。你能告訴我爲什麼它會在第一個下拉列表中出現問題嗎?在laravel PHP空間字符不工作的下拉列表

<select name="podrucje" id="select1" style='width: 150px;'>      
      @foreach($projects_all as $project) 
      <? if ($project->name != null) { ?> 

     <option value="{{ $project->podrucje }}">{{ $project->name}}</option> 

       <? } ?> 
     @endforeach 
     </select> 

這是jQuery腳本對項目變更爲第一個列表:

 $("#select1").change(function() { 
    if ($(this).data('options') == undefined) { 
     /*Taking an array of all options-2 and kind of embedding it on the select1*/ 
     $(this).data('options', $('#select2 option').clone()); 
    } 
    var id = $(this).val(); 
    var options = $(this).data('options').filter('[value=' + id + ']'); 
    $('#select2').html(options); 



    }); 

回答

0

看來,如果你把雙引號圍繞價值在您的過濾工作。

讓你的js的7號線將成爲

var options = $(this).data('options').filter('[value="' + id + '"]'); 

看到這對工作示例(在下拉列表中最後的值必須在價值空間)

https://jsfiddle.net/5mb7oot4/1/

0

你需要封裝用引號過濾值。

var options = $(this).data('options').filter('[value="' + id + '"]');