选中另一个框时,从选择框中删除“禁用”属性

时间:2017-04-26 13:36:57

标签: javascript jquery html laravel

我有两个选择框,用户可以在其中选择类别和子类别。我希望默认情况下禁用子类别,并在用户之前选择类别时启用。

<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>

1 个答案:

答案 0 :(得分:1)

如果您希望使用来自Laravel's Blade的变量字符串,则必须用引号括起来。

您的代码可能等同于var cat = fruits,这会引发语法错误。通过将刀片包装在引号中,您可以正确地说var cat = "fruits"

var cat = "{{ Request::get('cat') }}";

$('#subcat').prop('disabled', cat == "" || cat == null);