首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在用户输入后使用jQuery更改文本输入

无法在用户输入后使用jQuery更改文本输入
EN

Stack Overflow用户
提问于 2016-08-05 00:44:08
回答 1查看 51关注 0票数 1

我有一张桌子:

当用户选择一个WorkCentre时,将发送一个请求以获取该工作中心的默认持续时间,然后将该值插入到相应的字段中。但是用户可能希望指定不同的持续时间。仅当用户未进行手动更改时,持续时间的自动更新才起作用。因此,如果我在最后一行的持续时间字段中输入5,即使我更改了工作中心,它也会停留在5。

下面是我的代码:

代码语言:javascript
复制
$(document).on('change', 'select.form-control', function() {
    var WorkCentre = $(this).val();
    var i = $(this).attr('row-number');
    SetDuration(WorkCentre, i);
});

$(document).on('change', '.duration', function() {
    console.log('change');
    UpdateDates();
});

function SetDuration(WorkCentre, i) {
    $.get("/getDuration", {'WorkCentre' : WorkCentre}, function(data){
    var duration = data;
    $('input[name="Ops['+i+'][Duration]"]').val(duration);

    });
}

此时,如果用户选择了工作中心,将持续时间从默认值更改为自定义值,但随后确定他们选择了错误的工作中心并选择了新的工作中心,则不会更新新的默认持续时间

你可以在这里看到:https://www.youtube.com/watch?v=RFxwYlH7df8一旦我手动更改了持续时间,它就会像这样卡住。

EN

回答 1

Stack Overflow用户

发布于 2016-08-05 01:01:11

问题是下一行:(您引用的是选择元素,您应该引用选定的项目):

代码语言:javascript
复制
var i = $(this).attr('row-number');//No return data

更改方式:

代码语言:javascript
复制
var i = $(this).find("option:selected").attr('row-number');//Return value of attribute

结果: https://jsfiddle.net/cmedina/4pkdros9/1/

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

https://stackoverflow.com/questions/38773048

复制
相关文章

相似问题

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