ui-select2 没有从代码中输入想要的值
ui-select2 does not put the wanted value from code
我有几个 select 看起来像这样:
<div class="row">
<div class="col-lg-4">
<label class="control-label" for="ModelSelect">Model </label>
<select ng-disabled="markedDic['make']!=true" class="form-control col-md-2" id="ModelSelect"
name="model" ui-select2
ng-model="carDetails.model">
<option ng-if="!carDetails.model" value="">[SELECT]</option>
<option ng-repeat="(model, value) in modelsDic" value="{{ model }}">{{ model}}</option>
</select>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<label class="control-label" for="VolumeSelect">Engine </label>
<select ng-disabled="markedDic['model'] != true" class="form-control col-md-2" id="VolumeSelect"
name="volume" ui-select2
ng-model="carDetails.volume">
<option ng-if="!carDetails.volume" value="">[SELECT]</option>
<option ng-repeat="(volume, value) in volumesDic" value="{{ volume }}">{{ volume }}</option>
</select>
</div>
</div>
如您所见,在每个 select 中,ng-disabled 都依赖于 markedDic[]
第一个选项遵循相同的模式
<option ng-if="!carDetails.volume" value="">[SELECT]</option>
刚加载表单时,一切正常,默认值为 [SELECT],然后其余值为其他值。
但是当我改变 javascript 例如
carDetails.volume = "";
它使 select 中的 selected 值为 "" 但仍然让 [SELECT] 成为列表中的一个选项。
虽然我的意思是 [SELECT] 将是在我更改 js 代码后显示为 selected 值的选项。
我做错了什么?
里面ng-if
检查not null和undefined可以解决问题。试试这个,因为 !""
会 return 真实值。
ng-if="carDetails.model !== null && "carDetails.model !== undefined"
ng-if="carDetails.volume !== null && "carDetails.volume !== undefined"
我有几个 select 看起来像这样:
<div class="row">
<div class="col-lg-4">
<label class="control-label" for="ModelSelect">Model </label>
<select ng-disabled="markedDic['make']!=true" class="form-control col-md-2" id="ModelSelect"
name="model" ui-select2
ng-model="carDetails.model">
<option ng-if="!carDetails.model" value="">[SELECT]</option>
<option ng-repeat="(model, value) in modelsDic" value="{{ model }}">{{ model}}</option>
</select>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<label class="control-label" for="VolumeSelect">Engine </label>
<select ng-disabled="markedDic['model'] != true" class="form-control col-md-2" id="VolumeSelect"
name="volume" ui-select2
ng-model="carDetails.volume">
<option ng-if="!carDetails.volume" value="">[SELECT]</option>
<option ng-repeat="(volume, value) in volumesDic" value="{{ volume }}">{{ volume }}</option>
</select>
</div>
</div>
如您所见,在每个 select 中,ng-disabled 都依赖于 markedDic[] 第一个选项遵循相同的模式
<option ng-if="!carDetails.volume" value="">[SELECT]</option>
刚加载表单时,一切正常,默认值为 [SELECT],然后其余值为其他值。 但是当我改变 javascript 例如
carDetails.volume = "";
它使 select 中的 selected 值为 "" 但仍然让 [SELECT] 成为列表中的一个选项。 虽然我的意思是 [SELECT] 将是在我更改 js 代码后显示为 selected 值的选项。 我做错了什么?
里面ng-if
检查not null和undefined可以解决问题。试试这个,因为 !""
会 return 真实值。
ng-if="carDetails.model !== null && "carDetails.model !== undefined"
ng-if="carDetails.volume !== null && "carDetails.volume !== undefined"