jquery — не работает выпадающий список в символах пространства laravel PHP

У меня есть два выпадающих списка, и когда я нажимаю на элемент внутри первого, второй автоматически обновляется, я делаю это с JQuery. Он работает нормально, но только если в Item нет пробельных символов из первого списка, поэтому, например, если у меня есть «Some item» в качестве элемента, он ничего не будет делать, но для «item» он обновит другой список. Вот код Jquery и код 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 Script для изменения элемента для первого списка:

     $("#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);



});

1

Решение

кажется, работает, если вы поместите двойные кавычки вокруг значения в вашем фильтре.

поэтому строка 7 вашего JS станет

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

посмотрите это для рабочего примера (последнее значение в выпадающем списке имело место в значении)

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

0

Другие решения

Вам нужно будет заключить значение фильтра в кавычки.

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

По вопросам рекламы [email protected]