【问题标题】:Send different tittle attribute of the same input ID发送相同输入ID的不同title属性
【发布时间】:2018-03-03 22:17:08
【问题描述】:

我有一个带有 3 个输入的 HTML 表单。如果我更改这些输入中的某些值,我会使用它来检查我的数据库中的某些内容。

所以每次如果我改变我输入的值,我都需要向我的 Ajax 函数发送不同的“title”属性。

问题是当我更改任何值时,我的 Ajax 函数会获取第一个输入的标题(“BEER”)。

这是我的 HTML 代码:

<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();'>

这是我的功能:

function search(){

$.ajax({
    url: 'search.php',
    type: 'POST',
    data: 'code='+$("#quantity").attr("title"),
    success: function(x){

     alert(x);

     },
    error: function(jqXHR,estado,error){

        alert("ERROR");
    }
   });
}

请你帮帮我好吗?

我试图用一个数组来做,但是没有用。

谢谢你!!

【问题讨论】:

  • 注意:对于整个文档,html id 必须是唯一的。另外,如果您使用的是 jquery,为什么还要继续使用 oldschool onchange?迁移到选择器上的事件处理程序。

标签: php jquery ajax input attributes


【解决方案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);'>

** 顺便说一句:建议页面上的多个元素不要使用相同的 ID。但是,通过以您的方式调用事件,甚至不需要 ID。您可以删除它们或进行相应更改。

【讨论】:

猜你喜欢
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 1970-01-01
相关资源
最近更新 更多