下拉菜单选中后还是显示默认值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下拉菜单选中后还是显示默认值相关的知识,希望对你有一定的参考价值。
有什么办法可以使选中下拉菜单后显示的还是默认的那个值(就是不让用户选)
最好给我些小例子(要完整代码的)
<select disabled="disabled">
<option value="default" selected="selected">Default</option>
<option value="value1">Value 1</option>
<option value="value2">Value 2</option>
<option value="value3">Value 3</option>
</select>
另一种方法是注册一个onchange的事件, 当选择的内容改变了, 就把它默认的那个option设置为selected = true; :
<select onchange="javascript: this.options[0].selected = true;">
<option value="default" selected="selected">Default</option>
<option value="value1">Value 1</option>
<option value="value2">Value 2</option>
<option value="value3">Value 3</option>
</select> 参考技术A 用js的onclick或者oncheng事件可以控制..本回答被提问者采纳 参考技术B <select disabled>
<option>1</option>
</select>
在AngularJS中为依赖下拉菜单选择默认值[重复]
【中文标题】在AngularJS中为依赖下拉菜单选择默认值[重复]【英文标题】:Selecting a default value for dependant dropdowns in AngularJS [duplicate] 【发布时间】:2017-12-20 16:46:07 【问题描述】:我需要为两个相关的下拉菜单预先选择默认值。因此,在页面加载时,下拉菜单应显示类似“Automative”的内容,并选择了“Two Wheelers”。 (并且不使用 selected 属性,默认值必须通过 $scope 加载) 以下是工作下拉菜单的 Plunkr 链接。
http://plnkr.co/edit/3Xrpb4jBziWNZE9JVfts?p=preview
<select class="home_search_select" name="d1" ng-model="selectedd1" ng-options="cat.category_id as cat.category_name for cat in categorydata track by cat.category_id" id="d1">
<option value="">Select Category</option>
</select>
<select class="home_search_select" name="d2" id="d2" ng-disabled="!selectedd1" ng-model="selectedd2" ng-options="subcat.ID as subcat.Name for subcat in ((categorydata|filter:'category_id':selectedd1)[0].Subcategory) track by subcat.ID">
<option class="home_search_select" value="">Select Sub Category</option>
</select>
【问题讨论】:
【参考方案1】:如下为 selected1 赋值
$scope.selectedd1=
"category_name": "Automotive",
"category_id": "1",
"Subcategory": [
"Name": "Two Wheeler",
"ID": "1"
,
"Name": "Four Wheeler",
"ID": "2"
,
"Name": "Heavy Moving Vehicles",
"ID": "3"
,
"Name": "Automobile Related",
"ID": "4"
]
;
在第二个下拉菜单中修改 ng-options
<select class="home_search_select" name="d2" id="d2"
ng-disabled="!selectedd1" ng-model="selectedd2"
ng-options="subcat.ID as subcat.Name for subcat in selectedd1.Subcategory track by subcat.ID">
<option class="home_search_select" value="">Select Sub Category</option>
</select>
要监听下拉列表中的变化,请使用ng-change
指令
<select class="home_search_select" name="d1"
ng-model="selectedd1"
ng-change="homeChanged()"
ng-options="cat as cat.category_name for cat in categorydata track by cat.category_id" id="d1">
<option ng-value="">Select Category</option>
</select>
注意:ng-options
改为包含整个对象
Updated Plunker
【讨论】:
不工作,子类别下拉列表为空,更改时也已损坏。我需要它像原版一样工作。 只需将$scope.selectedd2 = $scope.selectedd1.Subcategory[0];
(而不是$scope.selectedd2 = "1";
)添加到@Aravind 的答案中,它应该可以工作
@Andriy 如果可行,请点赞
不工作了...请再次检查我的查询。我需要选择两个下拉菜单。就像最初出现的带有“Two Wheeler”的“汽车”或带有“鞋类”的“时尚”。当我再次更改主要类别时,它应该填充所有匹配值并选择“选择子类别”的子类别。跨度>
@Aravind,它不起作用,如果你添加到你的代码中它应该可以工作 $scope.selectedd2 = $scope.selectedd1.Subcategory[0];
这是固定的 plunker - plnkr.co/edit/MfThyBndm6zRLxmtqe7p?p=preview以上是关于下拉菜单选中后还是显示默认值的主要内容,如果未能解决你的问题,请参考以下文章
请教如何获取easyui-combobox下拉菜单的多个选中值