【发布时间】:2018-06-04 02:15:22
【问题描述】:
这是我的代码,问题在于变量unosAutor。
我需要检查两个字符串是否与助手相等,但如何在模板文字中使用变量unosAutor。
当我输入“一些文本”而不是 unosAutor 时,它可以工作。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>2 kolokvijum</title>
</head>
<body>
Unesite ime autora: <input id="imeAutora" type="text" placeholder="Ime autora"><br><br>
<button id="btnAutor" type="submit" onClick="proveraAutora()">Prikazi</button><br><br>
<div id="sadrzaj"></div>
<script src="js/handlebars-v4.0.11.js"></script>
<script src="js/qwest.min.js"></script>
<script src="js/jquery-3.2.1.min.js"></script>
<script>
function proveraAutora(){
var unosAutor = document.querySelector("#imeAutora").value;
var knjigeTemplate =
`
{{#each knjige}}
{{#equal autor unosAutor}}
<h2>{{naslov}} {{autor}}</h2>
<img src="{{slika}}"></img>
<h4>Broj strana: {{brojstrana}}</h4>
<h4><b>Cena: </b>{{cena}}</h4>
{{/equal}}
{{/each}}
`;
var divSadrzaj = document.querySelector("#sadrzaj");
qwest.get('data/json.json').then(function(xhr, response){
var Render = Handlebars.compile(knjigeTemplate);
divSadrzaj.innerHTML = Render({knjige : response});
});
};
Handlebars.registerHelper('equal', function(lvalue, rvalue, options) {
if (arguments.length < 3)
throw new Error("Handlebars Helper equal needs 2 parameters");
if (lvalue != rvalue) {
return options.inverse(this);
} else {
return options.fn(this);
}
});
</script>
</body>
</html>
【问题讨论】:
标签: javascript html web