我有两个下拉列表,当我单击第一个项目中的项目时,第二个项目是自动更新的,我正在使用JQuery进行此操作。它正常工作,但是只有在第一个列表中没有空格字符的情况下,所以,例如,如果我将“某个项”作为项,它将什么也不做,但是对于" item“,它将更新另一个列表。以下是Jquery代码和Laravel代码。你能告诉我为什么第一个下拉列表中的空格会产生问题吗?
<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);
});发布于 2015-10-31 16:49:50
如果将双引号放在筛选器中的值周围,似乎是有效的。
所以你的js第7行会变成
var options = $(this).data('options').filter('[value="' + id + '"]');有关工作示例,请参见此示例(下拉列表中的最后一个值有值空间)
发布于 2015-10-31 16:49:54
您需要将过滤器值封装在引号中。
var options = $(this).data('options').filter('[value="' + id + '"]');https://stackoverflow.com/questions/33453770
复制相似问题