代码之家  ›  专栏  ›  技术社区  ›  spring

使用语义UI下拉菜单替代“onChange”事件?

  •  0
  • spring  · 技术社区  · 7 年前

    这是一个愚蠢的问题,但我已经在语义用户界面网站上搜索过了,在这里搜索过了,我还没有找到解决方案。

    要点是:我一直在使用下面的代码和语义下拉列表。它工作得很好,除了我有一个表组件,用户也可以通过它进行选择(触发一个函数),当他们这样做时,我更新语义下拉列表以反映当前的选择。然后是 onChange

    我试着用 onSelect 但这显然不是一个有效的下拉事件。我可以做一些愚蠢的黑客来解决这个问题,但我宁愿使用不同的事件。有吗?


    $(function () {
        $('#productStates').dropdown({
            allowAdditions: true,
            allowReselection: true,
            placeholder: "Select State",
            onChange: function (value, text) {
                if (projectData == undefined) return;                
                loadStateByID(value)
            }
        })
    });
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   spring    7 年前

    好的-解决了这个问题。祝 Semantic docs 在事件处理方面更加清晰。

    当用户单击表格单元格时,我试图防止“加载”函数被调用两次,下拉列表被更新以反映当前选择。我使用以下方法更新下拉列表:

    $('#productStates').dropdown('set selected', activeStateID);
    

    这个 onChange action ,事件仅在用户操作时触发,而不是在通过代码设置下拉状态时触发。

    $('#productStates').dropdown({
            allowAdditions: true,
            allowReselection: true,
            placeholder: "Select State",
            action: function (value, text) {
                if (projectData == undefined) return;
                $(this).dropdown('set selected', value);
                loadStateByID(text)
            }
        })