这是我的例子:
$.ajax({
type: "POST",
url: "some.php",
data: "fname=John&lname=Due",
success: function(result){
$('#content').html('Label 1: <input name="quantity[]" class="quantity"> Label 2: <input name="quantity[]" class="quantity">');
}
});
并且js验证数量
$(".quantity").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
答案 0 :(得分:1)
.html()
是一个函数,其中要在调用时传递要设置为新html
的参数,除非使用.html(function(index, html){})
模式,其中新html
为{{ 1}}函数回调;未设置为return
的属性值。替代
.innerHTML
的
$('#content').html('Label 1: <input name="quantity[]" class="quantity"> Label 2: <input name="quantity[]" class="quantity">');
使用事件委派将$('#content').html = 'Label 1: <input name="quantity[]" class="quantity"> Label 2: <input name="quantity[]" class="quantity">';
事件附加到动态创建的keydown
元素;或在创建元素时附加事件
.quantity
答案 1 :(得分:1)
正如其他人所提到的,你必须正确使用html()函数。
顺便说一下,如果你动态创建html内容,你也必须绑定事件。
$.ajax({
type: "POST",
url: "some.php",
data: "fname=John&lname=Due",
success: function(result){
$('#content').html = 'Label 1: <input name="quantity[]" class="quantity"> Label 2: <input name="quantity[]" class="quantity">';
$(".quantity").unbind("keydown").bind("keydown", function() {
// your validation code should goes here
});
}
});
答案 2 :(得分:0)
.html是一种你无法分配的方法,所以请按照这样的方式参考http://api.jquery.com/html/
$('#content').html('Label 1: <input name="quantity[]" class="quantity"> Label 2: <input name="quantity[]" class="quantity">');