2011-09-19 67 views
1

我有一个表,其值正被用PHP动态生成的,包括ID和名称属性(例如ID =“question_”。设置选择器动态中的JQuery

如何可以设置一个元件考虑到这一点属性?比如,我有一个div其文本成功的Ajax调用后会发生变化,但ID是动态的

我曾尝试做下面的测试功能,并调用它的onclick事件:

function approve(question_id) 
{ 
    var div = 'suggestion_status_' + question_id; 
    $('#div').html('test'); 
} 

但是,这不起作用。如何使va变量'div'的选择器?

+0

哇,我在发帖后立即想到了它。 $('#suggestion_status_'+ question_id).html('test'); –

回答

0
this. $('#suggestion_status_' + question_id).html('test'); 
2

你的例子的问题是,div是一个变量,而不是一个字符串;所以下面的工作:

function approve(question_id) 
{ 
    var div = 'suggestion_status_' + question_id; 
    $('#' + div).html('test'); 
} 

甚至:

function approve(question_id) 
{ 
    $('#suggestion_status_' + question_id).html('test'); 
} 

另一种方法是利用类,并添加已知类的元素。没有看到完整的HTML,我不能提供一个完整的例子,但东西像这将是要走的路:记

$('.yourCommonClass').bind('click', function() { 
    var that = this; 

    jQuery.get('/accept.php', { 
     id: this.id 
    }, function (msg) { 
     $(that).html('Accepted!'); 
    }); 
}); 

轴承是jQuery.get参数是目标URL,可选的数据属性在请求中编码,然后是回调函数。

0
$('#suggestion_status_' + question_id).html('test'); 
0
$('#suggestion_status_' + question_id) 
0

我想你想要这样的:

function approve(question_id) 
{ 
    var div = 'suggestion_status_' + question_id; 
    $('#'+div).html('test'); 
} 
1

你定义DIV作为一个变量,然后用它作为一个字符串尝试相连来代替

function approve(question_id) 
{ 
    var div = 'suggestion_status_' + question_id; 
    $('#'+ div).html('test'); 
} 

或缩短这样的

function approve(question_id) 
{ 
    $('#suggestion_status_' + question_id).html('test'); 
}