kle*_*lew 4 ajax jquery css-selectors
我有动态添加像这样的输入字段:
<input id="person__1_badge_number" class="number" type="text" size="12" name="person[][1][badge][number]"/>
Run Code Online (Sandbox Code Playgroud)
当我添加这个字段时,我称之为fallowing功能:
function please_rebind() {
$('.number').bind("change", function() {
$.post('/registration/sell/check_badge_number', { number: $(this).val() },
function(data) {
$(this).addClass('make_it_red');
alert(data);
}, "html");
});
}
Run Code Online (Sandbox Code Playgroud)
它没有在我的输入字段中添加'make_it_red'类(我也尝试过html('foo')和其他东西,但它也不起作用).我认为这是因为我在其他函数中运行$(this),但我不知道如何处理它.$(this).val()有效,我也得到正确的响应(alert(data)).有人可以帮忙吗?
我认为发生的事情是在回调之后,对$(this)的引用丢失了.试试这种方式:
function please_rebind() {
$('.number').bind("change", function() {
var that = $(this);
$.post('/registration/sell/check_badge_number', { number: $(this).val() },
function(data) {
that.addClass('make_it_red');
}, "html");
});
}
Run Code Online (Sandbox Code Playgroud)