注意:
下面的答案和评论反映了2009年遗留浏览器的状态.现在,您可以在2017年使用JavaScript和dataTransfer或FileList对象实际动态/编程地设置文件输入元素的值.
有关详细信息和演示,请参阅此问题中的答案:
如何以编程方式设置文件输入值(即:拖放文件时)?
我该如何设置它的值?
<input type="file" />
Run Code Online (Sandbox Code Playgroud) 我认为除了选择列表中已有的任何值之外,您可以键入组合框.但是,我似乎无法找到有关如何执行此操作的信息.我需要添加一个属性来允许输入文本吗?
我需要让用户从下拉列表中选择一个项目,但也允许他们输入任何文本,即使它与列表中的项目不匹配.如何在包含HTML和Javascript的网页上实现此目的?
该select字段不允许用户输入文本,input文本字段不显示首选替代项.
如果用户打开下拉列表,则必须显示所有项目,因此它不能是仅显示匹配项目的简单自动完成.
我有一个select元素,并使用第一个option作为选择字段的标题.我想知道当select选择第一个选项时是否有办法使字段内的文本变灰.这只能在JS中完成,还是有CSS解决方案?
我尝试更改第一个的样式,option但只有在激活下拉菜单时才会更改文本的颜色.
<select>
<option>Please select your favourite fruit</option>
<option>Apple</option>
<option>Banana</option>
</select>
Run Code Online (Sandbox Code Playgroud) 有没有办法显示焦点上的所有数据主义选项?我需要在按键后显示所有选项.
<form action="" method="get">
<input list="browsers" name="browser">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
PS:这跟这个问题不一样.我的datalist选项是使用jquery动态生成的.
更新 1:开发了第一个示例代码,为正确实施奠定基础。
更新 2:开发了一个工作模型。见答案。
我找到了这个库:
https://libraries.io/bower/editable-dropdown-angularjs
它允许使用 HTML5 数据列表功能添加可编辑的下拉列表。
它工作正常,但是,唯一需要的功能是仅当所选值为“其他”时才使字段可编辑。
根据存储库中的演示查看 plunkr.co vreated 中的工作示例
http://plnkr.co/edit/wDm2mbTqTsT1YC5H7UPy?p=preview
有关详细信息,请参阅下面的示例代码。
感谢您的建议,使下拉字段仅在所选值为“其他”时可编辑。
HTML5:
<div ng-app="myApp">
<div ng-controller="demo" style="width:300px;position:fixed;top:20px;left:20px">
<p>You selected {{selected}}</p>
<editable-dropdown options='list' ng-model='selected'></editable-dropdown>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript:
angular.module('myApp', ['editableDropdown'])
.controller('demo', function($scope){
$scope.list = ['one', 'two', 'other']
$scope.selected;
});
Run Code Online (Sandbox Code Playgroud)
我能够使用 jsfiddle 开发这个示例代码(基于这个答案):
http://jsfiddle.net/tarekahf/t392djx1/
如果选择“其他”,这将允许使下拉列表可编辑。现在,我正在将此模式转换为 Angular 方式。如果您有任何建议,请告诉我。
我正在创建一个表单,用户可以在其中输入此人的信息。我想为给定人员创建电话号码和传真号码的下拉列表,用户可以选择他们想要的号码,即如果他们想要的号码已经存储在数据库中。但是,此人可能具有可能未存储在数据库中的其他电话号码。在这种情况下,我希望允许用户输入新号码。我发现一个很接近我想要在这里,但它不是我想什么比较。md-select如果可能的话,我希望使用angular-material来做。
<md-select ng-model="ctrl.phoneNumbers" ng-model-options="{ trackBy: '$value.id'}">
<md-option ng-value="phoneNumber"
ng-repeat="phoneNumber in ctrl.phoneNumbers">{{ phoneNumber.number }}
</md-option>
</md-select>
Run Code Online (Sandbox Code Playgroud) html ×5
javascript ×3
angularjs ×2
combobox ×2
html5 ×2
css ×1
dropdown ×1
file-upload ×1
html-select ×1
jquery ×1
onfocus ×1
preset ×1