jQuery()。如何改变ajax的工作方式?

时间:2018-03-15 13:09:24

标签: javascript jquery ajax

我有一个输入字段,我在这里使用ajax添加到html:

function WritePrices(categories) {
    var strResult = "from: <input class=\"price\" type=\"text\" id=\"minCost\" value=\"" + categories.MinPrice + "\" />";
    strResult += "from: <input class=\"price\" type=\"text\" id=\"maxCost\" value=\"" + categories.MaxPrice + "\" />";
    $("#price-range").html(strResult);
}

然后我想抓住用户更改此输入的时刻。这就是为什么在剧本中我也有改变方法

jQuery("input#minCost").change(function () {
        //...
    });

但是这种方法不会“听到”对输入字段的任何更改。只有当我的输入字段是在html中创建时(而不是在脚本中),它才会听到更改。我应该更改什么才能让jQuery看到我输入字段的变化?

2 个答案:

答案 0 :(得分:2)

您必须在创建后立即指定事件。请在下面找到工作片段:

function WritePrices(categories) {
    var strResult = "from: <input class=\"price\" type=\"text\" id=\"minCost\" value=\"" + categories.MinPrice + "\" />";
    strResult += "from: <input class=\"price\" type=\"text\" id=\"maxCost\" value=\"" + categories.MaxPrice + "\" />";
    $("#price-range").html(strResult);
    jQuery("input#minCost").change(function () {
        alert("working");
    });
}

var categories = {};
categories.MinPrice = 0.0;
categories.MaxPrice= 10;
WritePrices(categories);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="price-range"></div>

答案 1 :(得分:1)

您需要使用document更改模式

$(document).on('change','input#minCost',function(){
  ...
});