【问题标题】:jQuery to disable based on selected valuejQuery 根据所选值禁用
【发布时间】:2017-03-03 07:20:02
【问题描述】:

我有一个页面,它从数据库中提取值以创建一个表,其中定义如下的 'td' 元素

  <td headers="STATUS">
    <label>Status</label>
    <select class="statusSelect">
        <option value="open">open</option>
        <option value="closed">closed</option>
        <option value="locked" selected="selected">locked</option>
    </select>
  </td>

我需要识别具有“锁定”值的元素并禁用选择,以便用户无法更改这些单元格中的值。

行中还有其他“select”元素需要保持活动状态,所以我必须确保只有这个“td”中的“select”元素受到影响。

我可以使用 jQuery 来识别所有“锁定”的元素并禁用对这些元素的选择,同时启用“打开”和“关闭”值吗?

【问题讨论】:

  • 最后一部分是什么意思,"同时启用 'open' 和 'close' 值?" - 您是否希望用户仍然可以选择选择元素中的那些有一个值为“锁定”的选项?还是您根本不希望他们更改整个选择元素中的选择? (那么,“同时启用 'open' 和 'close' 值” 这句话有什么意义呢?)
  • 只需通过以下链接stackoverflow.com/questions/7450370/…
  • 对不起。我的意思是,如果从数据库中取回“锁定”值,我不希望用户能够更改选择。如果返回值“打开”或“关闭”,他们应该只能更改选择。

标签: jquery html select html-table


【解决方案1】:
$(document).ready(function(){
    $(".statusSelect").change(function(){
       var optionVal=$(this).find(":selected").text();
           if(optionVal=='locked'){
            $(this).prop('disabled', true);
           }else{
            $(this).prop('disabled', false);
           }
    });
});

请根据选项使用此jquery禁用或启用。

【讨论】:

  • 谢谢!效果很好!
  • 欢迎您,先生,我一直在这里寻求帮助。
【解决方案2】:
$("option[value='locked']").attr('disabled', true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 2018-12-16
    • 2012-04-02
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    相关资源
    最近更新 更多