【问题标题】:Also get id of input when new item is added添加新项目时还获取输入ID
【发布时间】:2013-11-24 11:25:10
【问题描述】:

我正在尝试使用 jQuery tokeniputs,并且希望在添加新项目时不仅获取 item.name,还希望获取输入的 id。有一个函数变量onAdd 用于调用警报:

onAdd: function (item) {
    alert("Added " + item.name);
},

但我真的不知道我应该如何获取元素附加到的输入的 id:

<input type="text" id="input12" name="blah" />

我的演示代码:

$("#input12").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
    prePopulate: [{
        id: 123,
        name: "Slurms MacKenzie"
    }],
    onAdd: function (item) {
        alert("Added " + item.name);
    },
    onDelete: function (item) {
        alert("Deleted " + item.name);
    }
});

http://jsfiddle.net/v394w/

谢谢!

【问题讨论】:

  • id的元素,你的意思是input字段的id
  • onAdd 方法中的 this 引用输入元素,因此您可以使用 this.id 引用元素 id
  • this 指的是 jquery 对象,所以 this.id 不存在,如果你想这样做使用 this[0].id
  • 对不起,我知道这不属于问题!但是您知道当用户单击一个尚未附加到输入的项目时我如何使用 item.name 调用警报吗?

标签: jquery jquery-tokeninput


【解决方案1】:

如果你想要输入的 ID,你可以这样做this.attr("id")

$(document).ready(function () {
    $("#demo-input-pre-populated").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php", {
        prePopulate: [{
            id: 123,
            name: "Slurms MacKenzie"
        }, {
            id: 555,
            name: "Bob Hoskins"
        }, {
            id: 9000,
            name: "Kriss Akabusi"
        }],
        onAdd: function (item) {
            console.log(this.attr("id"));
            // Input ID (this refers to the jQuery input object)
        },
    });
});

【讨论】:

  • 对 JSFiddle 没有反应?我的意思是 console.log 可以替换为 alert() 吗?
猜你喜欢
  • 2017-01-24
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多