HTML 输入由 AJAX 设置的字段值并捕获该事件

HTML Input field value set by AJAX and catch that event

我的 html 中有字段,一些第三方服务会设置它的值。

如何在字段值发生变化时捕获该事件?

<input data-val="true" data-val-length="City cannot be longer than 30 characters." data-val-length-max="30" data-val-required="City is required." id="Address_City" maxlength="30" name="Address.City" type="text" value="">

我怎样才能捕捉到这个字段的值变化, 我也试过 .change 事件,

    $('#Address_City').on('change', function() {
      console.log("Changed");
});

使用 change 事件。

$("#myTextBox").on("change", function() {
   //alert($(this).val()); 
});
<select name="user_id" id="user_id" class="form-control" onchange=get_contact(this.value)> 
<option value="1">1</option> 
<option value="2">2</option> 
 <option value="3">3</option> 
</select>
 <input type="text" class="form-control"  name = "contact_mob" id="contact_mob" placeholder="Contact Number" value="" />
 function get_contact(user_id) {
 $.ajax({
     type: "POST",
     url: "search.php",
     data: {
         "user_id": user_id
     },
     dataType:'json',
     success: function(data) {
      // console.log(data.user_mobile); 
         $("#contact_mob").val(data.user_mobile);
         // $("#replaceThis").append(responseData);
     }
 });
}

请指定您在代码中使用的控件。 您可以使用 change 或 keydown 事件。

用于客户端控制

    $("#TextBOXID").bind("keydown", function() {
                      if($("#TextBOXID")[0].value!="" && $("#TextBOXID")[0].value.length>0)
         {}
        });

对于服务器控制

   $("#<%=TextBOXID.ClientID%>").bind("keydown", function() {
           if($("#TextBOXID")[0].value!="" && $("#TextBOXID")[0].value.length>0)
           {}
        });

我们将检索一个值并将该值设置为 HTML 形式。首先,让我们创建表单。

表格

<form method="POST" action="">
    <select name="user_id" id="user_id" class="form-control">
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
    </select>
    <input type="text" class="form-control"  name = "contact_mob" id="contact_mob" placeholder="Contact Number" value="" />
</form>

现在我们有了表格,我们将使用 javascript 和 jQuery

来完成技术部分

Javascript/jQuery

// Wait for the dom to load before we start doing stuff
$(document).ready(function ($) {
    // append value to input on change of the dropdown
    $(document).on('change', '#user_id' , function () {
        // Get selected value
        var user_id = $(this).val();
        $.ajax({
             type: "POST", // Set ajax call type
             url: "search.php", // Set url
             data: {"user_id": user_id}, // Set an array of data
             dataType:'json', // Set the data type
             success: function(data) {
                // Log response to console
                console.log(data);
                // Append data to input
                $("#contact_mob").val(data.user_mobile);
            }
        });
    });
});

就这些了

我想我找到了一些解决方案,我打算在这里使用一个计时器,会有一些持久性问题..但我找不到任何东西

$('#Address_Address').on('change keyup paste click', function () {
    $('.pcaautocomplete .pcaselected').click(function () {
        var refreshInterval = setInterval(function () {
            if ($('#State').val() != "") {
                var statusVal = $('#State').val();
                clearInterval(refreshInterval);
            }
        }, 100);
    });
});