删除 select 底部的空对象值(由 ng-repeat 触发)
Remove the empty object value at the bottom of your select (that gets triggered by ng-repeat)
我的代码:
<div class="form-group">
<label>Productgroup</label>
<select id="product_group_id" name="product_group_id" class="form-control" ng-model="productGroup" ng-change="changedType(val)">
<option style="display: none" value="">Choose a productgroup</option>
@foreach ($product_groups as $product_group)
<option value="{{$product_group->id}}">{{$product_group->name}}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Product</label>
<select id="product_id" name="product_id" class="form-control" ng-model="form.product_id">
<option style="display: none" value="">Choose a product</option>
<option value="@{{product.id}}" ng-repeat="product in products">@{{product.name}}<option>
</select>
</div>
产品组select基本过滤下select;产品。
我的产品 select 选项底部一直包含这个空选项值,如下所示:
<option value=""></option>
我已经使用 <option style="display: none" value="">Choose product</option>
删除了我的产品 select 中的第一个空选项值。
更新:
使用 ng-options 而不是 ng-repeat,像这样:
<div class="form-group">
<label>Product</label>
<select id="product_id" name="product_id" class="form-control" ng-options="product.id as product.name for product in products" ng-model="form.product_id">
<option style="display: none" value="">Choose a product</option>
</select>
</div>
我会说你的 ng-repeat 在错误的地方,可能应该使用标准的 angular 方式 (https://docs.angularjs.org/api/ng/directive/select):
<select name="mySelect" id="mySelect" ng-options="option.name for option in data.availableOptions track by option.id" ng-model="data.selectedOption"></select>
然后如果你想删除 empty/first 元素,看看这个 Angular JS Remove Blank option from Select Option
您应该检查数据是否不为空,例如:
<select id="product_group_id" name="product_group_id" class="form-control" ng-model="productGroup" ng-change="changedType(val)">
<option style="display: none" value="">Choose a productgroup</option>
foreach ($product_groups as $product_group)
if (!empty($product_group->name) && !empty($product_group->id)) {
<option value="{{$product_group->id}}">{{$product_group->name}}</option>
}
endforeach
</select>
但我认为你应该设法找到这个空行的来源以避免进一步的问题
我的代码:
<div class="form-group">
<label>Productgroup</label>
<select id="product_group_id" name="product_group_id" class="form-control" ng-model="productGroup" ng-change="changedType(val)">
<option style="display: none" value="">Choose a productgroup</option>
@foreach ($product_groups as $product_group)
<option value="{{$product_group->id}}">{{$product_group->name}}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Product</label>
<select id="product_id" name="product_id" class="form-control" ng-model="form.product_id">
<option style="display: none" value="">Choose a product</option>
<option value="@{{product.id}}" ng-repeat="product in products">@{{product.name}}<option>
</select>
</div>
产品组select基本过滤下select;产品。
我的产品 select 选项底部一直包含这个空选项值,如下所示:
<option value=""></option>
我已经使用 <option style="display: none" value="">Choose product</option>
删除了我的产品 select 中的第一个空选项值。
更新:
使用 ng-options 而不是 ng-repeat,像这样:
<div class="form-group">
<label>Product</label>
<select id="product_id" name="product_id" class="form-control" ng-options="product.id as product.name for product in products" ng-model="form.product_id">
<option style="display: none" value="">Choose a product</option>
</select>
</div>
我会说你的 ng-repeat 在错误的地方,可能应该使用标准的 angular 方式 (https://docs.angularjs.org/api/ng/directive/select):
<select name="mySelect" id="mySelect" ng-options="option.name for option in data.availableOptions track by option.id" ng-model="data.selectedOption"></select>
然后如果你想删除 empty/first 元素,看看这个 Angular JS Remove Blank option from Select Option
您应该检查数据是否不为空,例如:
<select id="product_group_id" name="product_group_id" class="form-control" ng-model="productGroup" ng-change="changedType(val)">
<option style="display: none" value="">Choose a productgroup</option>
foreach ($product_groups as $product_group)
if (!empty($product_group->name) && !empty($product_group->id)) {
<option value="{{$product_group->id}}">{{$product_group->name}}</option>
}
endforeach
</select>
但我认为你应该设法找到这个空行的来源以避免进一步的问题