2016-08-04 73 views
1

我有这个表: enter image description hereCANT用户输入后更改文本输入与jQuery

当用户的动产一个WORKCENTRE,一个请求被发送到获取该工作中心默认的持续时间,然后这个值被插入到适当的领域。但用户可能希望指定不同的持续时间。 只有当用户没有进行手动更改时,持续时间的自动更新才有效。因此,如果我在最后一行的持续时间字段中输入5,即使我改变了工作中心,它也会停留在5。

继承人我的代码:

$(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 一旦我手动更改持续时间,它会像这样卡住。

+0

添加代码html来帮助! – CMedina

+0

分享小提琴链接或在这里创建一个片段 – Ayan

+0

- 例如 –

回答

0

的问题是下一行:(您参考选择元素,您应该参考所选项目):

var i = $(this).attr('row-number');//No return data 

变化是:

var i = $(this).find("option:selected").attr('row-number');//Return value of attribute 

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

+0

我可以成功获取行号。就像我说的,最初的自动更新工作正常,但后手动更改字段它不 –

+0

@ConnorBishop什么是你的功能,改变持续时间? – CMedina

+0

setDuration(),它已经在我的代码中 –

相关问题