通过更改在此选择框后隐藏元素

罗伯特

我正在制定一个时间表,用户可以在其中更新营业时间。

我每天选择带有“打开”或“关闭”的框,然后选择带有“从”和“直到”的框。

我想这样做,以便如果用户选择例如星期三:“已关闭”,则“ till”和“选择”框(此列表项.time_row)处于隐藏状态。

我每天的HTML:

<div class="time_row">
    <label>Monday:</label>
    <li>
        <select>
            <option value="open">Open</option>
            <option value="closed">Closed</option>
        </select>
    </li>
    <li>
        From:
    </li>
    <li>
        <select>
            <option value="00:00">00:00</option>
            <option value="01:00">01:00</option>
            etc
        </select>
    </li>   
    <li>
        Till:
    </li>
    <li>
        <select>
            <option value="00:00">00:00</option>
            <option value="01:00">01:00</option>
            etc
        </select>
    </li>       
</div><!--End time_row-->

我试图用jQuery做到这一点,.slice()但是他在此选择框之后和之前隐藏了所有列表元素?

// Account time table
$('.time_row select').change( function() {
    if( $(this).val() == 'closed' ) {
        $('.time_row li').slice(3).hide();  
    }
});

有人可以帮我弄这个吗?

谢谢!

想象

我假设您正在寻找类似的东西:

$('.time_row').find('select:first').change(function() {
    $(this)
        .closest('.time_row')
        .find('li')
        .slice(1)
        .toggle(this.value === 'open');
}).change();

在这种情况下,一旦change发生事件,您将<select>使用class搜索最接近的父元素.time_row然后拾取所有内部<li>元素,使用从列表中删除第一个元素,slice(1)并根据条件显示或隐藏其余元素this.value === 'open'

您还应该检查您的标记并将所有<li>元素放入其中<ul>以使其有效。

更新的答案中,我包括了正确的选择器以仅选择第一个<select>元素(忽略时间选择器),并在绑定之后添加了默认状态和触发change事件。

演示: http : //jsfiddle.net/mPNCA/1/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动态加载这些div内的选择框中的选项后,如何显示/隐藏div元素?

来自分类Dev

使用选择框将元素与JQuery隐藏

来自分类Dev

使用选择框将元素与JQuery隐藏

来自分类Dev

jQuery在选择框更改后更改html

来自分类Dev

为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

来自分类Dev

为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

来自分类Dev

选择框更改后,Ransack提交表单

来自分类Dev

Ajax更改功能后选择框的值

来自分类Dev

PHP MySQL通过选择框更改限制

来自分类Dev

将鼠标悬停在此元素后隐藏伪元素

来自分类Dev

jQuery:自动更新通过添加更改后的第一个选择创建的选择框组

来自分类Dev

更改在FileDialog中选择的文件的名称

来自分类Dev

选择后如何更改元素的边框?

来自分类Dev

CSS-根据选择框的值隐藏元素(类)

来自分类Dev

在选择框更改事件中获取隐藏输入字段的 ID

来自分类Dev

从redux-devtools更改值后,选择框未更改

来自分类Dev

尝试通过Selenium Python选择输入框,但是每次重新加载页面时元素中的“ id”都会更改

来自分类Dev

状态更改后使用v-if隐藏元素

来自分类Dev

用户更改Javascript中的选项后删除或隐藏元素

来自分类Dev

换行后隐藏元素

来自分类Dev

选择下拉框后,如何更改<div>边框颜色

来自分类Dev

更改选择框值后获取html内容

来自分类Dev

更改在webView中显示的网站,选择了哪个标签

来自分类Dev

showDatePicker主题更改在更新后不起作用?

来自分类Dev

Vue.js 在选择元素更改后不会重新渲染

来自分类Dev

如何更改在onload中创建的元素的文本

来自分类Dev

更改在内部插入href的标签元素的值

来自分类Dev

如何更改在PowerPoint中插入“设计思路”的元素?

来自分类Dev

通过屏幕分辨率更改在线最小高度

Related 相关文章

  1. 1

    动态加载这些div内的选择框中的选项后,如何显示/隐藏div元素?

  2. 2

    使用选择框将元素与JQuery隐藏

  3. 3

    使用选择框将元素与JQuery隐藏

  4. 4

    jQuery在选择框更改后更改html

  5. 5

    为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

  6. 6

    为什么不选择,并且textarea值更改在克隆时不像输入元素那样更新?

  7. 7

    选择框更改后,Ransack提交表单

  8. 8

    Ajax更改功能后选择框的值

  9. 9

    PHP MySQL通过选择框更改限制

  10. 10

    将鼠标悬停在此元素后隐藏伪元素

  11. 11

    jQuery:自动更新通过添加更改后的第一个选择创建的选择框组

  12. 12

    更改在FileDialog中选择的文件的名称

  13. 13

    选择后如何更改元素的边框?

  14. 14

    CSS-根据选择框的值隐藏元素(类)

  15. 15

    在选择框更改事件中获取隐藏输入字段的 ID

  16. 16

    从redux-devtools更改值后,选择框未更改

  17. 17

    尝试通过Selenium Python选择输入框,但是每次重新加载页面时元素中的“ id”都会更改

  18. 18

    状态更改后使用v-if隐藏元素

  19. 19

    用户更改Javascript中的选项后删除或隐藏元素

  20. 20

    换行后隐藏元素

  21. 21

    选择下拉框后,如何更改<div>边框颜色

  22. 22

    更改选择框值后获取html内容

  23. 23

    更改在webView中显示的网站,选择了哪个标签

  24. 24

    showDatePicker主题更改在更新后不起作用?

  25. 25

    Vue.js 在选择元素更改后不会重新渲染

  26. 26

    如何更改在onload中创建的元素的文本

  27. 27

    更改在内部插入href的标签元素的值

  28. 28

    如何更改在PowerPoint中插入“设计思路”的元素?

  29. 29

    通过屏幕分辨率更改在线最小高度

热门标签

归档