我得到了以下jquery代码:
$('.sub').change(function(event) {
$.post( 'get_products.php', $("#products_search").serialize(),
function( data ) {
console.log(data);
},
'json'
);
});
并有像
这样的字段<input type="text" name="lkj" id="lkj" class="sub" value="" onfocus="if(this.value == 'Search keyword') {this.value=''}" onblur="if(this.value == ''){this.value ='Search keyword'}" />
表格是这样的:
<form action="#" method="POST" name="products_search" id="products_search">
当我更改lkj中的值时,jquery ajax调用不会触发。
答案 0 :(得分:0)
尝试使用此示例绑定到on('change')
事件:
<form action="#" method="POST" name="products_search" id="products_search">
<input type="text" name="lkj" class="sub" placeholder="Search keyword" />
</form>
<script type="text/javascript">
$(function(){
$('.sub').on('change', function(event){
$.post(
'get_products.php',
$("#products_search").serialize(),
function( data ) {
console.log(data);
},
'json'
);
});
});
</script>
答案 1 :(得分:0)
尝试使用超时的密钥:
$('.sub').keyup(function(event) {
if( $(this).timeout ) clearTimeout( $(this).timeout );
$(this).timeout = setTimeout(function(){
alert('posting...');
$.post( 'get_products.php', $("#products_search").serialize(),
function( data ) {
console.log(data);
}, 'json'
);
},250);
});
确保将其包裹在$(function() { ... })
;