Javascript jQuery:动态生成列表项中的函数不';行不通
我构建了一个函数,用于在HTML元素中为Javascript jQuery:动态生成列表项中的函数不';行不通,javascript,jquery,html,html-framework-7,Javascript,Jquery,Html,Html Framework 7,我构建了一个函数,用于在HTML元素中为 <input type="range"> 请参见中的示例 我现在的问题是: 我将函数Skilllevel()放入一个$中。每个(结果,函数,然后放入其中,它都不起作用,因为我的第二个JSON文件var urlBewerbungID=“JSON.php”中的每个条目都在$(“#ergebniskill”)中生成一个单独的列表元素。追加( 第二个JSON看起来非常简单,如下所示: [ "item1", "item2", "item3
<input type="range">
请参见中的示例
我现在的问题是:
我将函数Skilllevel()
放入一个$中。每个(结果,函数,然后放入其中,它都不起作用,因为我的第二个JSON文件var urlBewerbungID=“JSON.php”
中的每个条目都在$(“#ergebniskill”)中生成一个单独的列表元素。追加(
第二个JSON看起来非常简单,如下所示:
[
"item1",
"item2",
"item3"
]
我的全部职能:
//Skills selektieren
变量范围值={
“0”:“Keine”,
“33”:“Anfänger”,
“66”:“Fortgeschritten”,
“99”:“Profi”
};
//阿伯弗雷奇,韦尔奇·斯泰尔·格奥尔特·沃尔德
$('bewerbungID')。on('change',function(){
var bewerbungID=($('#bewerbungID').val();
console.log(“BewerbungsID gewählt:+bewerbungID”);
//Zuerst das#HTML元素leeren
$(“#ergebniskill”).empty();
$(文档).ready(函数(){
var urlBewerbungID=“json.php”;
$.getJSON(urlBewerbungID,函数(结果){
控制台日志(结果);
$.each(结果、函数(i、字段){
var技能=领域;
//埃斯泰伦技巧
$(函数Skilllevel(){
$('#rangeText').text(rangeValues[$('#rangeInput').val());
$('#rangeInput')。在('input change',function()上{
$('#rangeText').text(rangeValues[$(this.val());
});
});
//Jetzt HTML元素neu befüllen
$(“#ergebniskill”)。追加(
“”+
'' +
“明星”+
'' +
''+技能+'
'+
'' +
'' +
'' +
'' +
'' +
'' +
'' +
“ ”
);
});
});
});
});
您的代码是由内而外的
- 您需要document.ready来包装事件处理程序
- 使用类而不是ID,ID需要是唯一的
- 使用委派-当前,每个结果都有一个不起作用的函数
- 您需要为每个结果分配技能功能,但需要授权-查看rangeInput如何捕获点击
ergebniskill
:
//Skills selektieren
变量范围值={
“0”:“Keine”,
“33”:“Anfänger”,
“66”:“Fortgeschritten”,
“99”:“Profi”
};
$(文档).ready(函数(){
//埃斯泰伦技巧
$(“#ergebniskill”).on('input change',“.rangeInput”,function(){//delegation
$(this).closest(“项目内部”)//父div
.find('.rangeText')//输入字段
.text(rangeValues[$(this).val());
});
//阿伯弗雷奇,韦尔奇·斯泰尔·格奥尔特·沃尔德
$('bewerbungID')。on('change',function(){
var bewerbungID=($('#bewerbungID').val();
console.log(“BewerbungsID gewählt:+bewerbungID”);
//Zuerst das#HTML元素leeren
$(“#ergebniskill”).empty();
var urlBewerbungID=“json.php”;
$.getJSON(urlBewerbungID,函数(结果){
控制台日志(结果);
$.each(结果、函数(i、字段){
var技能=领域;
//Jetzt HTML元素neu befüllen
$(“#ergebniskill”)。追加(
“- ”+
'' +
“明星”+
' ' +
''+技能+'
'+
' ' +
' ' +
' ' +
' ' +
' ' +
' ' +
'' +
“ ”
);
});
});
});
});
[
"item1",
"item2",
"item3"
]