我有一个包含3个输入的HTML表单。如果我在theese输入中更改了某个值,我会用它来检查我的数据库中的某些内容。
所以每次如果我改变输入的值,我都需要向我的Ajax函数发送不同的“title”属性。
问题是当我更改任何值时,我的Ajax函数会获得第一个输入的标题(“BEER”)。
这是我的HTML代码:
onReceive
这是我的功能:
<input id='quantity' type='text' title='BEER' value='0' onchange='search();'>
<input id='quantity' type='text' title='VODKA' value='0' onchange='search();'>
<input id='quantity' type='text' title='GIN' value='0' onchange='search();'>
你能帮助我吗?
我试图用数组做这件事,但它不起作用。
谢谢!!
答案 0 :(得分:1)
也许您打算将正在使用的对象作为参数发送给您的函数。您可以发送this
。
像:
<input id='quantity' type='text' title='BEER' value='0' onchange='search(this);'>
注意:我稍微修改了你的代码以帮助调试消息。
function search(obj){
var code = $(obj).attr("title");
console.log(code);
$.ajax({
url: 'search.php',
type: 'POST',
data: 'code='+code,
success: function(x){
alert(x);
},
error: function(jqXHR,estado,error){
alert("ERROR");
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' title='BEER' value='0' onchange='search(this);'>
<input type='text' title='VODKA' value='0' onchange='search(this);'>
<input type='text' title='GIN' value='0' onchange='search(this);'>
** BTW:建议页面上不要有多个元素使用相同的ID。但是,通过以您的方式调用事件,甚至不需要ID。您可以删除它们或相应地进行更改。