当前位置: 首页 > 面试题库 >

如何将无法选择且可自定义的占位符添加到选择框

暨修洁
2023-03-14
问题内容

我有一个很大的应用程序,其中包含许多下拉菜单。我不想修改我的数据以添加一个空白选项,并且我不想选择占位符。最好的方法是什么?


问题答案:

我们可以通过使用angular强大的指令系统来扩展基本html来轻松做到这一点。

app.directive('select', function($interpolate) {
  return {
    restrict: 'E',
    require: 'ngModel',
    link: function(scope, elem, attrs, ctrl) {
      var defaultOptionTemplate;
      scope.defaultOptionText = attrs.defaultOption || 'Select...';
      defaultOptionTemplate = '<option value="" disabled selected style="display: none;">{{defaultOptionText}}</option>';
      elem.prepend($interpolate(defaultOptionTemplate)(scope));
    }
  };
});

这样,我们现在可以执行以下操作:

<select ng-model="number" 
    ng-options="item.id as item.label for item in values">
</select>

这将创建一个带有不可选择的占位符的选择框,其中显示“选择…”

如果我们想要一个自定义占位符,我们可以简单地做到这一点:

<select ng-model="dog" 
    ng-options="dog.id as dog.label for dog in dogs" 
    default-option="What's your favorite dog?">
</select>

这将创建一个带有不可选择的占位符的选择框,该占位符显示“您最喜欢的狗是什么?”

Plunker示例(在咖啡脚本中):http
://plnkr.co/edit/zIs0W7AdYnHnuV21UbwK

Plunker示例(使用javascript):http
://plnkr.co/edit/6VNJ8GUWK50etjUAFfey



 类似资料:
  • 问题内容: 我正在使用占位符进行文本输入,效果很好。但是我也想为我的选择框使用一个占位符。当然,我可以使用以下代码: 但是“选择您的选项”是黑色而不是浅灰色。因此,我的解决方案可能基于CSS。jQuery也很好。 这只会使下拉菜单中的选项变为灰色(因此,单击箭头后): 问题是:人们如何在选择框中创建占位符?但它已经得到回答,欢呼。 使用此方法会导致所选值始终为灰色(即使在选择实选项后): 问题答案

  • 我正在使用vuejs 2.0创建一个webapp。我使用以下代码创建了简单的选择输入: 我的Vue组件的

  • 我希望能够将我的WooCommerce产品发布到我的“帖子”类别中。基于下面的鳕鱼,这是可能的。这是我在functions.php.中使用的代码。当我用吴宇森制作新产品时,这些类别是可以点击的。然而,它并没有发布到类别本身。感谢对此事的任何见解。 将类别选择添加到自定义帖子类型

  • 使用select2。js检索绑定到隐藏输入的远程数据。 我已在初始化中设置占位符: 但一旦选择了一个项目,占位符就会变为空白。如何将其重置为原始字符串?我曾尝试将init代码放在一个单独的函数中并再次执行它,但没有任何乐趣。我看到回答的其他问题似乎是特定于绑定到SELECT的。我做错了什么?

  • 正在寻找设置下拉列表占位符的字体颜色的方法。当需要select id时,以下操作起作用: 但是,我不希望输入需要这些下拉列表。一旦我移除所需的标记,占位符字体就会变回黑色。 以下是我的下拉列表:

  • 希望能澄清一下我什么时候应该使用和。这可能不是节奏问题,但也许我错过了一些关于Golang的知识。 对于我认为基本思想是等待通道的下一个输出。不完全确定什么是可以。 例如,在cadence示例中,< code>local_activity链接并粘贴在下面: 我们不使用任何 但是,在这里的例子中,它也使用信号通道:根据外部输入改变优步节奏睡眠时间 我还会将代码粘贴到这里 你可以看到有,我不完全确定它