Javascript 我想要一个带有md select的空白选项,我希望它在需要时不进行验证

Javascript 我想要一个带有md select的空白选项,我希望它在需要时不进行验证,javascript,html,angularjs,angularjs-material,md-select,Javascript,Html,Angularjs,Angularjs Material,Md Select,我使用的是角度材质和md select,我想做一个空白选项,这样当你选择它时,你在select中没有任何值。如果我要求它,那么我希望这个选项在检查时返回false 下面是一个演示: 安古拉斯普朗克 文件。写(“”); {{option.name} 提交 我的情况比较复杂,所以我不想解决问题,我只是想在选择空白选项的时候做一个必要的工作。最初不是关于md选择,因此可能有更好的方法。您只需将此选项添加到md select: <md-option value=""></md-op

我使用的是角度材质和
md select
,我想做一个空白选项,这样当你选择它时,你在select中没有任何值。如果我要求它,那么我希望这个选项在检查时返回false

下面是一个演示:


安古拉斯普朗克
文件。写(“”);
{{option.name}
提交

我的情况比较复杂,所以我不想解决问题,我只是想在选择空白选项的时候做一个必要的工作。最初不是关于
md选择
,因此可能有更好的方法。您只需将此选项添加到
md select

<md-option value=""></md-option>
JavaScript

$scope.options = {id : [
    {name : 'World', value : 'World', id:3},
    {name : 'qweqwe', value : 'qweqwe', id:1},
    {name : 'rwerasdf', value : 'rwerasdf', id:2}
]}
如果使用常规的
select
,这就足够了,但是
md select
考虑空值以满足
required
属性,因此需要额外的工作

在您的选择中,添加一个函数
checkNull
以运行
onchange

 ng-change="checkNull()"
然后将其添加到您的范围:

$scope.checkNull = function(){
    if(typeof $scope.selectedValue2 === "undefined"){
        $scope.myform.myselect.$setValidity("required", false);
    }
};

尝试添加以下代码段:

<md-option ng-value disabled>Choose One</md-option>
选择一个

您好,谢谢您的回复。由于某种原因,它在我的项目中不起作用。我正在使用md选择和md选项。它是否改变了什么?空白选项也适用于角材料。您将添加
而不是
。但是看起来,
md select
认为这是一个有效的选项,所以这可能会给您带来问题。这是一个例子。我在互联网上发现很多人在问如何解决这个问题,但没有真正的解决办法。即使在您的示例中,“”也不会触发“required”。我应该使用什么值使其工作?我将编辑我的答案以向您展示。首先,我将把你的问题编辑成关于
。如果你愿意的话,我可以做编辑。抱歉,谢谢。这将使选项默认为禁用,并且不可用。我认为他需要的是,如果我的字段不是必需的,那么回答为空的可能性,但当需要时,您不能选择此选项。虽然他可以禁用该选项,如果该字段是必需的,但您已经说过他可以删除禁用的选项,并且该选项将按要求工作。
$scope.checkNull = function(){
    if(typeof $scope.selectedValue2 === "undefined"){
        $scope.myform.myselect.$setValidity("required", false);
    }
};
<md-option ng-value disabled>Choose One</md-option>