我有两个选择框,用户可以在其中选择类别和子类别。我希望默认情况下禁用子类别,并在用户之前选择类别时启用。
<select name="cat" onclick="this.form.submit()" style="width:220px;height:120px;" size="8">
<option value="">All categories</option>
@foreach($categoriesFilter as $cf)
<option value="{{ $cf->mainCat_de }}">{{ $cf->mainCat_de }}</option>
@endforeach
</select>
和
<select name="subcat" id="subcat" onchange="this.form.submit()" style="width:220px;height:120px;" size="8" disabled>
<option value="">All subcategories</option>
@foreach($subCategoriesFilter as $sf)
<option value="{{ $sf->cat_de }}">{{ $sf->cat_de }}</option>
@endforeach
</select>
我试图这样做,但它不起作用:
<script type="text/javascript">
var cat = {{ Request::get('cat') }};
if( cat != "" || cat != null ){
$('#subcat').prop('disabled', false);
}
</script>
答案 0 :(得分:1)
如果您希望使用来自Laravel's Blade的变量字符串,则必须用引号括起来。
您的代码可能等同于var cat = fruits
,这会引发语法错误。通过将刀片包装在引号中,您可以正确地说var cat = "fruits"
。
var cat = "{{ Request::get('cat') }}";
$('#subcat').prop('disabled', cat == "" || cat == null);