我试图在用户更改文本框的值时将值插入数据库。我已经检查了后端代码(C#),没有jQuery,并确认它正在工作,这让我相信问题是jQuery .change()
事件没有被触发。
我见过很多相同的问题,但没有一个解决方案看似相关。我怎样才能使这个工作?
jQuery的:
<script type="text/javascript">
$(function () {
$('.qty').change(function () {
$.post('/InlineEditing.cshtml', { qty: $(this).val(), id: $(this).attr('id') },
function (data) {
alert(data.trim());
});
});
});
</script>
HTML:
<input type="text" class="qty" id="1" value="0" />
答案 0 :(得分:1)
如果您想要可靠地处理文本更改,请改用zurb的 textchanged 事件。这适用于击键,粘贴操作,剪切操作等。
http://www.zurb.com/playground/jquery-text-change-custom-event
选中演示 http://jsfiddle.net/JnCXG/
<强>代码:强>
$('#foo').bind('textchange', function (event, previousText) {
console.log('Text changed');
});
答案 1 :(得分:0)
我认为这个问题有几个方面:
keypress
事件。alert
非常不足以调试脚本中发生的事情。考虑使用像Firebug这样的JavaScript调试器来找出真正发送到服务器的内容。例如,请看这个小提琴:http://jsfiddle.net/dfH7y/3/(您需要打开JavaScript控制台才能看到console.log
输出)
答案 2 :(得分:0)
您可以在Keyup
或onblur
事件上编写函数而不是更改。更改事件适用于选择框。