如何从OnChange事件中捕获文本框的值

时间:2016-11-22 05:02:39

标签: javascript c# jquery asp.net textbox

在我的C#MVC应用程序中,我有一系列生成的文本框......

@foreach (object item in items) 
{ 
    @Html.TextBox(....)
}

渲染结果是一系列看起来像这样的文本框....

<input class="item-quantities valid" data-bomid="1939" data-rid="2054" id="AddedItemIDs_1939_" name="AddedItemIDs[1939]" onchange="ChangeItemQuantity(156,78)" onkeypress="return isNumberKey(event)" type="text" value="7" aria-invalid="false">

<input class="item-quantities valid" data-bomid="1940" data-rid="1055" id="AddedItemIDs_1940_" name="AddedItemIDs[1940]" onchange="ChangeItemQuantity(159,90)" onkeypress="return isNumberKey(event)" type="text" value="1">

现在,我需要一个javascript / jquery函数,我可以在其中捕获三个值:

  1. bomid
  2. 远离
  3. 文本框的新值
  4. 我很好地捕捉文本框失去焦点时的值(Tab out等)

    我试过这个(没有onchange =&#34; ChangeItemQuantity()&#34;在文本框中),但由于某种原因,我永远无法触发此事件。另外,我不是这样做的,因为那时我被迫对我分配给文本框的类很严格....

        $(function () {
            $('.item-quantities.valid').change(function () {
                var value = $(this).val(); 
                var bomid= $(this).data('bomid');
                var rid= $(this).data('rid');
            });
        });
    

    我已经尝试了这个(WITH onchange =&#34; ChangeItemQuantity(159,90)&#34;在文本框中)。我会这样做,因为它允许我灵活地使用文本框中的类...

    function ChangeItemQuantity(bomid, rid) {
        // no idea how I would capture the value here.
    }
    

2 个答案:

答案 0 :(得分:2)

向函数添加另一个参数以传递元素并获取它export default Ember.Component.extend({ upload: Ember.inject.service(), didInsertElement() { // bind fileinput change event to set up pending files }, ondonesingle(file, uuid) { }, actions: { submit() { let callbacks = { ondoneall: this.ondoneall.bind(this), ondonesingle: this.ondonesingle.bind(this), onprogressall: this.onprogressall.bind(this), onprogresssingle: this.onprogresssingle.bind(this), onerror: this.onerror.bind(this) }; this.get('upload').run(this.get('pending_files'), callbacks); }, } })

value

答案 1 :(得分:0)

你可以像这样获取属性的值,

function getValues(){
var actual=$(this).value;
var bomid=$(this).attr('bomid');
var rid=$(this).attr('rid');
}