Javascript 如何在select标记中动态设置默认值?
所以基本上,我得到的是这个 我的剧本:Javascript 如何在select标记中动态设置默认值?,javascript,html,angularjs,forms,Javascript,Html,Angularjs,Forms,所以基本上,我得到的是这个 我的剧本: scope.exampleDetailsForm = { dropdownItems: ["sample1", "sample2", "sample3", "sample4", "sample5"], itemSelected: '' }; 我的HTML: <form name="example" role="form"> <table id="exampleTable">
scope.exampleDetailsForm = {
dropdownItems: ["sample1", "sample2", "sample3", "sample4", "sample5"],
itemSelected: ''
};
我的HTML:
<form name="example" role="form">
<table id="exampleTable">
<tr>
<td class="tableCell">
<label for="LOB">Example:</label>
</td>
<td>
<select ng-model="example"
ng-options="example as example for example in exampleDetailsForm.dropdownItems">
<select>
</td>
</tr>
</table>
</form>
例子:
现在,我的itemSelected
将从我的数据库中动态填充到脚本的更下方。所以我想做的是:
如果itemSelected
不为空,我希望我的select的默认选项是dropDownItems中的相应值
因此,如果用户登录并选择值为“Sample 4”的itemSelected
的内容,那么这就是我希望显示为select语句的默认选项的内容。如下所示:
scope.exampleDetailsForm = {
dropdownItems: ["sample1", "sample2", "sample3", "sample4", "sample5"],
};
scope.exampleDetailsForm.itemSelected = scope.exampleDetailsForm.dropdownItems[0]
并更改exampleDetailsForm.itemSelected的ng model=“example”
我想您希望使用该变量作为实际选择的示例。尝试将ng init=“example=exampledailsform.itemSelected”
添加到select
元素中
<form name="example" role="form">
<table id="exampleTable">
<tr>
<td class="tableCell">
<label for="LOB">Example:</label>
</td>
<td>
<select ng-model="example"
ng-init="example=getSelectedItem()"
ng-options="example as example for example in exampleDetailsForm.dropdownItems">
<select>
</td>
</tr>
</table>
</form>
你能给我看看这个在angular中的实现吗?更新了。请记住,这可能不是最佳解决方案,因为我仍在学习角度,但这就是我可能解决此问题的方法。
$scope.exampleDetailsForm = {
dropdownItems: ["sample1", "sample2", "sample3", "sample4", "sample5"],
itemSelected: ''
};
$scope.getSelectedItem = function(){
if ($scope.exampleDetailsForm.itemSelected !== ''){
var index = $scope.exampleDetailsForm.dropdownItems.indexOf($scope.exampleDetailsForm.itemSelected);
return $scope.exampleDetailsForm.dropdownItems[index];
}else{
return $scope.exampleDetailsForm.dropdownItems[0];
}
}