Javascript 通过ajax检索器的succes函数调用的函数向父级添加select
基本上我是从一个文件中收集数据,这些数据如下:Javascript 通过ajax检索器的succes函数调用的函数向父级添加select,javascript,php,jquery,ajax,dom,Javascript,Php,Jquery,Ajax,Dom,基本上我是从一个文件中收集数据,这些数据如下: [{"course_id":"1","name":"test"}, {"course_id":"2","name":"test1"}, {"course_id":"3","name":"test2"}] function createSelect(data) { for(i = 0; i < data.length; i++) { console.log(data[i]['course_id'], data[i]
[{"course_id":"1","name":"test"},
{"course_id":"2","name":"test1"},
{"course_id":"3","name":"test2"}]
function createSelect(data) {
for(i = 0; i < data.length; i++) {
console.log(data[i]['course_id'], data[i]['name']);
var select = $('<select></select');
$(this).parent().append(select);
}
}
$(document).ready(function () {
$('.note').click(function () {
switch($(this).attr('id')) {
case '1': id = 'getCourse'; break;
case '2': break;
case '3': break;
case '4': break;
case '5': break;
};
if(id != '') {
$.ajax({
url: './functions/' + id + '.php',
cache: false,
dataType: 'json',
success: function(data) {
createSelect(data);
},
error: function (request, status, error) {
console.log('error', error);
}
});
};
});
});
Javascript/jquery代码如下:
[{"course_id":"1","name":"test"},
{"course_id":"2","name":"test1"},
{"course_id":"3","name":"test2"}]
function createSelect(data) {
for(i = 0; i < data.length; i++) {
console.log(data[i]['course_id'], data[i]['name']);
var select = $('<select></select');
$(this).parent().append(select);
}
}
$(document).ready(function () {
$('.note').click(function () {
switch($(this).attr('id')) {
case '1': id = 'getCourse'; break;
case '2': break;
case '3': break;
case '4': break;
case '5': break;
};
if(id != '') {
$.ajax({
url: './functions/' + id + '.php',
cache: false,
dataType: 'json',
success: function(data) {
createSelect(data);
},
error: function (request, status, error) {
console.log('error', error);
}
});
};
});
});
函数createSelect(数据){
对于(i=0;i$(此)
在createSelect
函数中,您需要将元素传递给createSelect
函数
function createSelect(element, data) {
for(i = 0; i < data.length; i++) {
var select = $('<select></select');
//Use element
element.parent().append(select);
}
}
$(document).ready(function () {
$('.note').click(function () {
var element = $(this); //Store this reference
$.ajax({
success: function(data) {
createSelect(element, data); //pass the element
}
});
};
});
});
函数createSelect(元素、数据){
对于(i=0;i
而不是
$(this).parent().append(select);
原因$(this)
在函数中不引用任何内容旁注:$(this).attr('id')
编写this.id
;-)是一种不必要的冗长和迂回的方式。哦,谢谢!不知道。实际上它包含DOM元素(一个div)这将触发整个单击事件。@如果有多个元素,则使用单个note
,上面的“平滑”将起作用??????