jquery传递id和输入keyup上的值

jquery传递id和输入keyup上的值,jquery,Jquery,我动态地创建行,但是我还需要传入控件的id和值 function AddClient() { var uuid = guid(); $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient(

我动态地创建行,但是我还需要传入控件的id和值

function AddClient() {
    var uuid = guid();
    $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient($(this).attr('id'),$(this).val())'></row>")


            function SearchClient(id, term) {
        //do some lookups
        }
函数AddClient(){
var uuid=guid();
$(“#客户端列表”)。追加(“”)
功能搜索客户端(id,术语){
//查查
}
获取错误
(索引):2个未捕获的语法错误:意外标记}


我的问题是
$(this).attr('id')
,你知道我应该用什么替换它吗?

你可能在代码中遗漏了}

例如,您可以将“id”替换为另一个文本

id='ClientName" + uuid
替换为“clientName”

因为您将自定义属性添加到html中

$(this).attr('clientName')

您可能在代码中缺少}

例如,您可以将“id”替换为另一个文本

id='ClientName" + uuid
替换为“clientName”

因为您将自定义属性添加到html中

$(this).attr('clientName')

也许我愚蠢地建议代码重构,但是如果你刚开始考虑这样做:

function AddClient() {
    var uuid = guid();    
    $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' /></row>"); 
}
$(document).on("keyup","[name='clientName']",SearchClient);

function SearchClient() {
    var id = $(this).attr('id');
    var term = $(this).val();            
}
函数AddClient(){
var uuid=guid();
$(“#客户列表”)。追加(“”);
}
$(文档)。在(“keyup”上,“[name='clientName']”,SearchClient);
函数SearchClient(){
var id=$(this.attr('id');
var term=$(this.val();
}
优点:单面装订


CONS:绑定到文档上,您可能想将它绑定到它所包含的表中。

< P>我可能愚蠢地建议代码重构,但是如果您刚开始考虑这样做:

function AddClient() {
    var uuid = guid();    
    $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' /></row>"); 
}
$(document).on("keyup","[name='clientName']",SearchClient);

function SearchClient() {
    var id = $(this).attr('id');
    var term = $(this).val();            
}
函数AddClient(){
var uuid=guid();
$(“#客户列表”)。追加(“”);
}
$(文档)。在(“keyup”上,“[name='clientName']”,SearchClient);
函数SearchClient(){
var id=$(this.attr('id');
var term=$(this.val();
}
优点:单面装订


缺点:在文档上绑定时,您可能希望将其绑定到包含该文档的表上。

试试这个,您的代码遇到的问题是键控函数中id之前的“'”

$("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient($(this).attr(\"id\"),$(this).val())'></row>")
$(“#客户端列表”)。追加(“”)

试试这一个,您的代码的问题是键控功能中
id
前面的“.”

$("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient($(this).attr(\"id\"),$(this).val())'></row>")
$(“#客户端列表”)。追加(“”)

既然您使用的是jQuery,那么就使用jQuery。完全删除内嵌代码,只为这些元素添加一个事件处理程序。大概是这样的:

$(document).on('keyup', 'input[id^=ClientName]', function () {
    SearchClient($(this).attr('id'),$(this).val());
});
那么您根本不需要内联代码:

$("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control'></row>");
$(“#客户端列表”)。追加(“”);


注意:调试中可能出错,错误来自附加DOM元素的代码,而不是其中执行的代码。请注意,在您的代码中,语句后缺少分号。如果问题中的代码是一个完整的示例,那么它的格式有点不正确。

因为您使用的是jQuery,所以请使用jQuery。完全删除内嵌代码,只为这些元素添加一个事件处理程序。大概是这样的:

$(document).on('keyup', 'input[id^=ClientName]', function () {
    SearchClient($(this).attr('id'),$(this).val());
});
那么您根本不需要内联代码:

$("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control'></row>");
$(“#客户端列表”)。追加(“”);

注意:调试中可能出错,错误来自附加DOM元素的代码,而不是其中执行的代码。请注意,在您的代码中,语句后缺少分号。如果问题中的代码是一个完整的示例,那么它的格式有点不正确。

您可以这样做

function AddClient() {
    var uuid = guid();
    $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient(this)'></row>");
}


function SearchClient(elemt) {
    id= $(elemt).attr('id');
    term= $(elemt).value();
    //do some lookups
}
函数AddClient(){
var uuid=guid();
$(“#客户列表”)。追加(“”);
}
功能搜索客户端(elemt){
id=$(elemt.attr('id');
术语=$(elemt.value();
//查查
}
您可以这样做

function AddClient() {
    var uuid = guid();
    $("#clientList").append("<row><input type='text' placeholder='type to search' name='clientName' id='ClientName" + uuid + "' class='form-control' onkeyup='SearchClient(this)'></row>");
}


function SearchClient(elemt) {
    id= $(elemt).attr('id');
    term= $(elemt).value();
    //do some lookups
}
函数AddClient(){
var uuid=guid();
$(“#客户列表”)。追加(“”);
}
功能搜索客户端(elemt){
id=$(elemt.attr('id');
术语=$(elemt.value();
//查查
}

当执行此代码时,或者当执行
输入
的键控事件中的代码时,是否会发生错误?当执行此代码时,或者当执行
输入
的键控事件中的代码时,是否会发生错误?自定义属性可能会使HTML无效,这就是HTML5允许“数据-*”的原因属性,例如
data client name='ClientName…'
自定义属性可能使HTML无效,这就是HTML5允许“data-*”属性的原因,例如
data client name='ClientName…'