我正在处理我的应用程序和我的html中有三个链接evere链接属于不同的类别,我想在有人点击时加载当前类别。但问题在于我的功能,我不知道如何捕获所选类别。
这是我的代码:
这是html中的三个链接:
<a id="rock" data-role="button" data-transition="slide" href="category.html">Rock</a>
<a id="electronica" data-role="button" data-transition="slide" href="category.html">Electrónica</a>
<a id="pop" data-role="button" data-transition="slide" href="category.html">Pop</a>
这是我的功能,你可以看到在开始时我尝试了每个id但没有任何反应,接下来,ajax和数据应该捕获类别的名称。
var valueCat = false;
$('#rock, #electronica').click(function () {
if($(event.target).attr('id')=='rock'){
valueCat = 'rock';
valueCat = true;
return;
}
else if($(event.target).attr('id')=='pop'){
valueCat = $('#pop').attr('id');
valueCat = true;
return;
}
});
//alert(valueCatRockArg);
$.ajax({
url: 'http://.....org/api/get_category_posts',
data:'category_name='+valueCat+'&count=5&order=desc',
type: 'GET',
dataType: 'jsonp',
success: function(data){
var source = $("#category-template").html(); //Get the HTML from the template in the script tag
var template = Handlebars.compile(source); // compilamos la plantilla
var blogData = template(data); // en data se almacena el contenido que nos viene de wordpress
$('#category-data').html(blogData); // mostramos el contenido
$('#category-data').trigger('create');
dfd.resolve(data);
},
error: function(data){
console.log(data);
}
});
我希望你理解我,我是应用程序的新手,而且我的英语很糟糕。
提前谢谢你!
完整功能:
category: function(){
function getCategory() {
var dfd = $.Deferred();
//alert(valueCatRockArg);
$.ajax({
url: 'http://ultravoz.org/api/get_category_posts',
data:'category_name='+valueCat+'&count=5&order=desc',
type: 'GET',
dataType: 'jsonp',
success: function(data){
var source = $("#category-template").html(); //Get the HTML from the template in the script tag
var template = Handlebars.compile(source); // compilamos la plantilla
var blogData = template(data); // en data se almacena el contenido que nos viene de wordpress
$('#category-data').html(blogData); // mostramos el contenido
$('#category-data').trigger('create');
dfd.resolve(data);
},
error: function(data){
console.log(data);
}
});
return dfd.promise();
};
getCategory().then(function(data){
$('#all-categories').on('click','li', function(e){
localStorage.setItem('postData', JSON.stringify(data.posts[$(this).index()]));
});
});
},
答案 0 :(得分:3)
你可以试试这个:
$('#rock, #electronica, #pop').click(function (e) {
e.preventDefault(); //stop native link clicking
valueCat = this.id;
//then put your ajax call here, inside this function...
});
答案 1 :(得分:0)
$('a').click(function () {
var cat=$(this).attr('id');
$.ajax({
url: 'http://.....org/api/get_category_posts',
data:'category_name='+cat+'&count=5&order=desc',
type: 'GET',
dataType: 'jsonp',
success: function(data){
var source = $("#category-template").html(); //Get the HTML from the template in the script tag
var template = Handlebars.compile(source); // compilamos la plantilla
var blogData = template(data); // en data se almacena el contenido que nos viene de wordpress
$('#category-data').html(blogData); // mostramos el contenido
$('#category-data').trigger('create');
dfd.resolve(data);
},
error: function(data){
console.log(data);
}
});
});
点击链接时必须调用你的ajax函数。你在外面调用它