首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery UI选择框在第二次输入时不工作

jQuery UI选择框在第二次输入时不工作
EN

Stack Overflow用户
提问于 2021-12-21 06:30:20
回答 2查看 42关注 0票数 0

我正在做一个小项目,其中包括一个带有jQuery的自定义选择框。

问题是,在第一次选择一个选项之后,不可能再选择另一个选项。

这是我的标记:

代码语言:javascript
运行
AI代码解释
复制
function bindSelectmenu() {
   $('form').each(function() {
        $(this).find('select').selectmenu({
            appendTo: $(this).find('select').parent()
        });
    });
}
代码语言:javascript
运行
AI代码解释
复制
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<form action="">
    <fieldset class="contact-flex">
        <label for="input" class="flex-grow-33">
            Selectbox
        </label>
        <div class="input flex-grow-66">
            <select name="input" id="input">
                <option value="a">a</option>
                <option value="b">b</option>
                <option value="c">c</option>
            </select>
        </div>
        <span></span>
    </fieldset>
</form>

我使用的是jQuery 3.6.0和jQuery UI。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-06 02:27:51

我发现了问题,这是一个e.stopPropagation在一个点击事件的身体。当我把它移除的时候。

票数 1
EN

Stack Overflow用户

发布于 2021-12-21 09:10:41

请考虑以下几点。

代码语言:javascript
运行
AI代码解释
复制
$(function() {
  $('form').each(function(i, el) {
    $('select', el).selectmenu({
      appendTo: $('select', el).parent()
    });
  });
});
代码语言:javascript
运行
AI代码解释
复制
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<form action="">
  <fieldset class="contact-flex">
    <label for="input" class="flex-grow-33">
            Selectbox
        </label>
    <div class="input flex-grow-66">
      <select name="input" id="input">
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
      </select>
    </div>
    <span></span>
  </fieldset>
</form>

这几乎与您使用的代码相同,但是它是在加载时执行的,而不是在函数中执行的。如果您需要在一个函数中运行它,您可以这样做,但是最好更具体一些,以确保this不会混淆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70437078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档