如何在编辑文本框时调用jQuery函数

时间:2016-10-27 08:53:33

标签: javascript jquery asp.net-mvc jquery-ui

在我的代码中有一个禁用的文本框。当用户点击编辑铅笔图标文本框时,可以编辑某些内容。当用户编辑文本框时,必须检查编辑的值是否已经退出。因为我有调用checkOwnerId方法。但是这个功能没有任何电话。

这是我的jQuery代码

  var parcel = $('#parcel_no').val();
        $('#pin-edit').click(function () {
            $('#owner_id_txt').removeAttr("disabled");
            $("#pin-edit").hide();
            $("#save-pin").show();
            oldOwnerId = $('#owner_id_txt').val();
        });
        $('#save-pin').click(function () {
            if ($("#owner_id_txt").val() == "") {
                displayErrorMessage('Please enter owner Id');
                $("#owner_id_txt").focus();
                $('#owner_id_txt').val(oldOwnerId);
                return;
            }


            $("#pin-edit").show();
            $('#owner_id_txt').attr("disabled", true)
            $("#save-pin").hide();
            var data = { 'owner_id': $("#owner_id_txt").val(), 'parcel_no': parcel };
            BlockUI();
           var urlstring = "@Url.Content("~")Parcel/UpdateOwnerId";
            $.post(urlstring, data, function (result) {
                UnblockUI();
                if (result.success == true) {
                    displaySuccessMessage('Owner Id updated successfully!');

                }
                else {
                    displayErrorMessage('There was an error while updating Owner Id!');
                }
            });

            $('#owner_id_txt').change(function () {
//alert("Check Exist or Not");
                       var data = { 'owner_id': $("#owner_id_txt").val() };
                        var urlString = "@Url.Content("~")Parcel/CheckOwnerId";
                        urlString = sanitize_url_path(urlString);
                        $.post(urlString, data,
                           function (result) {
                               if (result) {
                              displayErrorMessage("Owner Id already exists");
                                    $("#pin-edit").show();
                                    $('#owner_id_txt').attr("disabled", true);
                                   $("#save-pin").hide();
                                }
                            });
                    })
        });

2 个答案:

答案 0 :(得分:0)

这可以使用jquery更改存档:

$( "'textboxid" ).change(function() {
  // Check input( $( this ).val() ) for validity here using ajax call 
});

答案 1 :(得分:0)

你的'$('#owner_id_txt')。change(function(){'在'$('#save-pin')里面调用。点击(function(){'所以一旦你键入它就不会被调用将函数放在它之外,然后检查值。参考下面的jsfiddle示例

代码:JS

$(document).ready(function() {
   $('#pin-edit').click(function () {
      $('#owner_id_txt').removeAttr("disabled");
      $("#pin-edit").hide();
      $("#save-pin").show();
      oldOwnerId = $('#owner_id_txt').val();
   });
   $('#save-pin').click(function () {
      if ($("#owner_id_txt").val() == "") {
      $("#owner_id_txt").focus();
      $('#owner_id_txt').val(oldOwnerId);
      return;
      }
      $("#pin-edit").show();
      $('#owner_id_txt').attr("disabled", true)
      $("#save-pin").hide();
   });
   $('#owner_id_txt').change(function () {//alert("Check Exist or Not");
      console.log($(this).val());
   });
   $('#owner_id_txt').attr("disabled", true);
});

代码:HTML

<input type="text" id="owner_id_txt" >
<div id="pin-edit">edit</div>
<div id="save-pin">save</div>

https://jsfiddle.net/pitchiahn/fr6gdeyd/