javascript - Jquery selectmenu改变下拉值

标签 javascript jquery onchange jquery-ui-selectmenu

我有一个下拉菜单,我用 Jquery UI 选择菜单更改了它。 我必须使用 jquery 更改该值。

我已经尝试过这个并且它的工作原理。

$('#myId').val('someValue');
$('#myId').selectmenu('refresh');

它更改下拉值,但不调用与其关联的更改函数。

请仔细阅读附加的代码片段,当手动更改值时会触发警报,但如果我通过 jquery 更改,它只是更新 jquery 选择菜单中的值,但不会调用更改函数。 请指导我该怎么做。

$('#number').selectmenu({
change:function( event, ui ) {alert('Hello')}
});
$('#number').val('3');
$('#number').selectmenu('refresh');
<link href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<html>
  <head>
  
  
  
  
  
  </head>
  <body>
   <select name="number" id="number">
      <option>1</option>
      <option selected="selected">2</option>
      <option value="3">3</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
      <option>7</option>
      <option>8</option>
      <option>9</option>
      <option>10</option>
      <option>11</option>
      <option>12</option>
      <option>13</option>
      <option>14</option>
      <option>15</option>
      <option>16</option>
      <option>17</option>
      <option>18</option>
      <option>19</option>
    </select>
  
  
  
  </body>
  </html>

)

最佳答案

试试这个。

$('#number').selectmenu();
$('#number').on('selectmenuchange', function() {
    alert( 'Hello'); 
});

$('#number').val(4).selectmenu('refresh').trigger('selectmenuchange');
<link href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css" rel="stylesheet"/>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
    <html>
      <head>
      
      
      
      
      
      </head>
      <body>
       <select name="number" id="number">
          <option>1</option>
          <option selected="selected">2</option>
          <option value="3">3</option>
          <option>4</option>
          <option>5</option>
          <option>6</option>
          <option>7</option>
          <option>8</option>
          <option>9</option>
          <option>10</option>
          <option>11</option>
          <option>12</option>
          <option>13</option>
          <option>14</option>
          <option>15</option>
          <option>16</option>
          <option>17</option>
          <option>18</option>
          <option>19</option>
        </select>
      
      
      
      </body>
      </html>

关于javascript - Jquery selectmenu改变下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243282/

相关文章:

javascript - 此功能在 Firefox 中不起作用

javascript - 通过添加和删除类来实现 CSS 过渡

php - 将 PHP 变量作为 Ajax 传递回原始页面上的 JavaScript 变量

Javascript onchange函数执行onload但不执行onchange

javascript - `onselectionchange` 的 HTML5 事件

javascript - 输入:empty detects empty fields when there are none

javascript - 从 javascript websocket 获取总计

jquery slider 动画问题

javascript - 如果输入文本被 JavaScript 更改,则检测更改

javascript - 强大 - PUT 错误