Javascript 当选择另一个框时,从选择框中删除“禁用”属性
我有两个选择框,用户可以选择类别和子类别。我想在默认情况下禁用子类别,并在用户以前选择该类别时启用Javascript 当选择另一个框时,从选择框中删除“禁用”属性,javascript,jquery,html,laravel,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)
<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>
及
我试过这么做,但不起作用:
<script type="text/javascript">
var cat = {{ Request::get('cat') }};
if( cat != "" || cat != null ){
$('#subcat').prop('disabled', false);
}
</script>
若您希望使用Laravel的Blade中的变量作为字符串,那个么它必须用引号括起来 您的代码可能等同于var cat=fruits,这将抛出语法错误。用引号将刀片括起来,表示var cat=fruits是正确的
cat是字符串吗?请尝试$'subcat'。删除“已禁用”的属性;相反您要做的是将属性的值指定为false。我发现jQuery有时不将disabled视为属性。所以请尝试$..attr'disabled',以及null。@Rorymcrossan Yes。它是URL中的一个字符串变量。您需要将该值用引号括起来:var cat='{{Request::get'cat'}}';是的。它正在工作。Thx很多@RorymcCrossan但它是onclick=this.form.submit。。当我从cat中选择某个内容时,它会提交表单并重新加载页面。好的,刚刚意识到。一秒钟更新答案
<script type="text/javascript">
var cat = {{ Request::get('cat') }};
if( cat != "" || cat != null ){
$('#subcat').prop('disabled', false);
}
</script>
var cat = "{{ Request::get('cat') }}";
$('#subcat').prop('disabled', cat == "" || cat == null);