如何在AngularJS中将硬编码的选择值设置为value而不是null
How to set hardcoded select value to value instead of null in AngularJS?
我试图在AngularJS中硬编码<select>
的默认值,将值设置为0
而不是null
。
无需将"None selected"对象推送到我绑定的实际项集合中,也无需使用"save函数"对对象进行消毒。
用合适的值而不是null来实现硬编码的默认选项,最优雅的方法是什么?
解释问题
如果你选择了一个父元素,然后选择默认值,你会得到一个空的parentId而不是0。
我设法通过使用前置过滤器来解决这个问题,该过滤器将硬编码的选择值作为参数。
过滤器:myApp.filter('prepend', function() {
return function(input, prependObj) {
var out = [prependObj];
out = out.concat(input);
return out;
};
});
示例用法:<select ng-model="editItem.parentId" ng-options="i.id as i.title for i in (items | prepend:{id:0, title:'No parent'})">
JSFiddle
相关文章:
- getElementById().value未设置隐藏输入
- Firefox赢得了't在keydown处理程序中设置input.value..但它在调试时起作用
- JQuery 将输入框值设置为 this.value onclick
- jQuery .val('xxx') 不是设置值,而是 .attr('value', &
- jQuery 设置 input.value = input.title(或其他输入属性)
- 为什么控制台在原型中将 e.explicitOriginalTarget.value 显示为在粘贴或剪切事件上设置.js
- 我想要Ember.js'{{input value=“searchTerm”}}以将其值设置为''
- 通过单击SELECT选项,将文本INPUT元素的VALUE动态设置为默认值
- Jquery设置value属性时的奇怪行为
- 不能从我的控制器中设置select value, Angular JS
- 为什么使用!0将value设置为true ?
- 为什么没有在输入字段中设置值(已经使用了"value" "ddd")
- 不能使用jQuery和value方法设置文本区域中的文本
- 在AngularJs中绑定Key-Value对Object时,在下拉菜单中设置默认选择
- React-bootstrap表单只允许我在value设置为this.state.value时输入
- 使用Javascript/JQuery设置Rails`hidden_field_tag`Value
- 通过angular指令设置元素的属性text/value
- 如何在AngularJS中设置value =一个字符串
- value=" someevalue& quot;有什么区别?并在html中设置(value," s
- AngularJS从嵌套函数中设置Value为$scope