首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jquery更改选择值

使用Jquery更改选择值
EN

Stack Overflow用户
提问于 2017-08-17 04:31:07
回答 3查看 21.3K关注 0票数 7

我尝试使用Jquery来更改表单中"select“输入的值,但当它更改时,该更改的函数就不起作用了。

HTML:

代码语言:javascript
复制
<select id='select'>
  <option checked value='1' >Option 1</option>
  <option value='2' >Option 2</option>
</select>
<div id='text'>Option 1 selected</div>
<div id='button'>Click to select Option 2</div>

JQuery:

代码语言:javascript
复制
$('#select').change(function(){
    if($(this).val() == '1'){
    $('#text').text('Option 1 selected');
  } else if($(this).val() == '2'){
    $('#text').text('Option 2 selected');
  }
});

$('#button').click(function(){
    $('#select').val('2');
})

CSS:

代码语言:javascript
复制
#button {
  cursor: pointer;
  color: white;
  background: red;
  padding: 5px;
  display: inline-block;
}

演示:https://jsfiddle.net/fdko9nna/

当我单击#buttondiv时,它会更改选择字段,但不会执行更改#text的函数。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-17 04:51:40

您需要在按钮的代码中使用.change()trigger('change')触发更改事件:

代码语言:javascript
复制
$('#button').click(function(){
    $('#select').val('2').change();
})

绑定到select的更改事件不会仅通过jQuery更改值来触发,因此需要调用jQuery的更改事件。

票数 8
EN

Stack Overflow用户

发布于 2017-08-17 04:40:16

基于https://api.jquery.com/change/

描述:将事件处理程序绑定到change JavaScript事件,或在元素上触发该事件。

此方法是前两个变体中的.on( "change",handler )和第三个变体中的.trigger( "change“)的快捷方式。

当元素的值发生更改时,将向该元素发送change事件。此事件仅限于元素、框和元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时,事件会立即触发,但对于其他元素类型,事件会延迟到元素失去焦点。

您在JQuery中更改的值未触发更改事件,您需要为更改事件添加触发器。

票数 1
EN

Stack Overflow用户

发布于 2020-08-17 16:31:05

试试这个:

代码语言:javascript
复制
 $('#button').click(function(){
        $('#select option[value="2"]').prop('selected', true);
    })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45722487

复制
相关文章

相似问题

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