【问题标题】:Jquery clear and restore dropdown valuesJquery清除并恢复下拉值
【发布时间】:2011-12-20 09:17:54
【问题描述】:

我想知道是否可以在 jquery 清除下拉值后恢复它们?

在此示例中,您可以看到,当您选中其中一个复选框时,它会禁用并清除相应的下拉菜单。取消选中复选框后,值就消失了。

是否可以仅在选中复选框时清除值?

http://jsfiddle.net/ZXSKH/32/

【问题讨论】:

    标签: javascript jquery select checkbox drop-down-menu


    【解决方案1】:

    我不会质疑是否有必要。这回答了你的问题...

    http://jsfiddle.net/ZXSKH/38/

    【讨论】:

    • 请标记为答案:)
    【解决方案2】:

    为什么你需要删除选择选项?

    http://jsfiddle.net/ZXSKH/36/

    你可以试试这个。改变这一行

    $('div[day_id="'+$(this).val()+'"] select').find('option').remove() 
    

    $('div[day_id="'+$(this).val()+'"] select').attr('disabled','') 
    

    【讨论】:

    • 我删除它们是因为当发布到数据库时它会发布错误的值?还是我错了?我的意思是当有人选择复选框并提交表单时,字段应该是空的还是弄错了?
    • 当您读取发送服务器的数据时,您可以使用默认值或禁用属性对其进行过滤。
    【解决方案3】:

    删除选项是不必要的,因为您已经禁用了选择。只需减小选中的禁用的宽度即可模拟删除选项:

    //Remove this line
    $('div[day_id="' + $(this).val() + '"] select').find('option').remove()
    
    //Replace with this:
    selects.css("width", "22px");
    
    //Don't forget to restore the width when enabling the selects:
    selects.css("width", "75px");
    

    这里是a working fiddle

    【讨论】:

    • 我删除了这些选项,因为当发布到数据库时,它不会在下拉选项中发布默认时间。这样,当我从数据库中读取值时,它们看起来不会像填写值一样,我会得到正确的时间。除非我能用另一种方式解决这个问题?
    • 您可以为每个值添加一个值,然后删除该值
    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多