【问题标题】:Is it possible to make Combo box option unselectable without disabling it? [duplicate]是否可以在不禁用组合框选项的情况下使其无法选择? [复制]
【发布时间】:2012-02-10 20:53:32
【问题描述】:

可能重复:
Disable select option in IOS Safari

由于 safari 移动浏览器不支持 disabled="disabled" 属性,因此我正在寻找其他方法使选择框选项看起来被禁用,可能是通过事件或其他方式?

<select>
<option value="monthly" disabled="disabled">Month</option> <!-- do not get disabled on iphone  -->
<option value="yearly">Yearly</option>
</select>

谢谢。

【问题讨论】:

  • 这不是一个很好的解决方案,所以我不会建议它作为答案,但您可以使用单选按钮,它有自己的单独组。这就像一个只能被选中而不能被取消选中的复选框。它很粗糙,虽然我不推荐它,但它是一种选择。
  • @MindWorX 我不想将元素更改为无线电 btn,所以请发布任何解决方案(无论漂亮与否),它将很有帮助。谢谢。

标签: iphone mobile safari html


【解决方案1】:

您可以添加:

onchange="selectValidate(this, 1)"

到您的 HTML,然后在 javascript 中:

function selectValidate(refSelect, defaultIndex)
{
     if(refSelect.options[refSelect.selectedIndex].hasAttribute("disabled"))
     {
           alert("You can't select that value");
           refSelect.selectedIndex=defaultIndex;
     }
}

未经测试,但应该可以工作。


外观和感觉:

我认为您可以使用 CSS 来指定您的禁用项目。

例子:

select option[disabled]
{
    background-color:#FBFBFB;
}

它也可以在 Safari 上运行,因为它应该支持 CSS。

【讨论】:

    【解决方案2】:

    你愿意使用 jquery 组合框插件吗? 我搜索了this one,它似乎符合您的要求。

    【讨论】:

      猜你喜欢
      • 2010-09-07
      • 1970-01-01
      • 2015-02-23
      • 2019-08-23
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      相关资源
      最近更新 更多