首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><Select> on change不能通过.val()处理值的变化

问<Select> on change不能通过.val()处理值的变化
EN

Stack Overflow用户
提问于 2014-03-06 15:30:33
回答 3查看 50关注 0票数 0
代码语言:javascript
复制
$('#changeRows').on('change', function(){
    var changedValue = $('#changeRows').val();
    alert("This is my value: "+changedValue);
    //do my stuff
}

setTimeout(function() {
    $('#changeRows').val("<?=$contentData['rows'];?>");
}, 1500);

我怎么才能让它像预期的那样工作呢?值会改变,但不称为.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-06 15:31:35

当通过图形用户界面而不是通过代码更改值时,会触发更改事件。尽管可以使用.trigger("change")或change()触发更改事件

现场演示

代码语言:javascript
复制
setTimeout(function() {
    $('#changeRows').val("<?=$contentData['rows'];?>").change();
}, 1500);
票数 1
EN

Stack Overflow用户

发布于 2014-03-06 15:31:41

只有当用户操作导致更改时,才会触发更改事件。

您需要手动触发它,如果发生了编程更改,可以使用.change()或.trigger(“变化”)。

代码语言:javascript
复制
setTimeout(function() {
    $('#changeRows').val("<?=$contentData['rows'];?>").change();
}, 1500);
票数 1
EN

Stack Overflow用户

发布于 2014-03-06 15:42:13

您可以尝试使用jquery的身体进行更改:

$('body',‘#changeRow’).on(‘change’,函数(e) {

});

或者,如果您的dom中的元素是动态生成的,则可以选择以下jquery的实时更改:

$('.changeRows').live('change',function() {

});

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

https://stackoverflow.com/questions/22228873

复制
相关文章

相似问题

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