Php 在ajax中组合多种功能 我用Zurb基金会制造MO过滤器的药片。
有可能把这个结合起来吗?我只想使用1个函数,因为它们几乎相同,只是变量在变化。是否有可能使它更具活力。我认为.val()与定义列表不兼容Php 在ajax中组合多种功能 我用Zurb基金会制造MO过滤器的药片。,php,jquery,ajax,zend-framework,zurb-foundation,Php,Jquery,Ajax,Zend Framework,Zurb Foundation,有可能把这个结合起来吗?我只想使用1个函数,因为它们几乎相同,只是变量在变化。是否有可能使它更具活力。我认为.val()与定义列表不兼容 <dl class="tabs pill"> <dd class="active"><a class="allTab" href='#'>ALL</a></dd> <dd><a class="Tab1" href="#">filter1</a></dd
<dl class="tabs pill">
<dd class="active"><a class="allTab" href='#'>ALL</a></dd>
<dd><a class="Tab1" href="#">filter1</a></dd>
<dd><a class="Tab2" href="#">filter2</a></dd>
<dd><a class="Tab3" href="#">filter3</a></dd>
</dl>
试着这样做:
<dl class="tabs pill">
<dd class="active"><a class="allTab" href='#'>ALL</a></dd>
<dd><a class="tab" id="Tab1" href="#" data-certiria='filter1'>filter1</a></dd>
<dd><a class="tab" id="Tab2" href="#" data-certiria='filter1'>filter2</a></dd>
<dd><a class="tab" id="Tab3" href="#" data-certiria='filter1'>filter3</a></dd>
</dl>
function filterTab(cretiria, clickedTab) {
$('#searchForm1').ajaxSubmit({
type: 'get',
url: '/sample/search?str=' + cretiria,
beforeSend: function () {
clickedTab.text('Filtering...');
clickedTab.css({
"font-size": "11px"
});
},
success: function (html) {
$('.sample').html(html);
clickedTab.text(cretiria);
clickedTab.css({
"font-size": "14px"
});
},
error: function () {
alert('Network Error..Please try again.');
}
});
}
$('.tab').live('click', function () {
var dis = $(this);
var str = $(this).data("certiria");
filterTab(str, dis)
});
功能过滤器选项卡(cretiria,单击选项卡){
$('#searchForm1')。ajaxSubmit({
键入:“get”,
url:'/sample/search?str='+cretiria,
beforeSend:函数(){
单击选项卡文本(“筛选…”);
clickedTab.css({
“字体大小”:“11px”
});
},
成功:函数(html){
$('.sample').html(html);
单击选项卡文本(cretiria);
clickedTab.css({
“字体大小”:“14px”
});
},
错误:函数(){
警报('网络错误..请重试');
}
});
}
$('.tab').live('click',函数(){
var dis=$(本);
var str=$(this).data(“certiria”);
过滤器选项卡(str、dis)
});
不再处理相同的ajax请求代码,而是创建一个单独的函数。
然后使用该选项卡中的数据元素保存所需的筛选条件。
然后使用一个通用的click函数检索该数据元素并将其发送到ajax函数来管理请求 像这样试试:
<dl class="tabs pill">
<dd class="active"><a class="allTab" href='#'>ALL</a></dd>
<dd><a class="tab" id="Tab1" href="#" data-certiria='filter1'>filter1</a></dd>
<dd><a class="tab" id="Tab2" href="#" data-certiria='filter1'>filter2</a></dd>
<dd><a class="tab" id="Tab3" href="#" data-certiria='filter1'>filter3</a></dd>
</dl>
function filterTab(cretiria, clickedTab) {
$('#searchForm1').ajaxSubmit({
type: 'get',
url: '/sample/search?str=' + cretiria,
beforeSend: function () {
clickedTab.text('Filtering...');
clickedTab.css({
"font-size": "11px"
});
},
success: function (html) {
$('.sample').html(html);
clickedTab.text(cretiria);
clickedTab.css({
"font-size": "14px"
});
},
error: function () {
alert('Network Error..Please try again.');
}
});
}
$('.tab').live('click', function () {
var dis = $(this);
var str = $(this).data("certiria");
filterTab(str, dis)
});
功能过滤器选项卡(cretiria,单击选项卡){
$('#searchForm1')。ajaxSubmit({
键入:“get”,
url:'/sample/search?str='+cretiria,
beforeSend:函数(){
单击选项卡文本(“筛选…”);
clickedTab.css({
“字体大小”:“11px”
});
},
成功:函数(html){
$('.sample').html(html);
单击选项卡文本(cretiria);
clickedTab.css({
“字体大小”:“14px”
});
},
错误:函数(){
警报('网络错误..请重试');
}
});
}
$('.tab').live('click',函数(){
var dis=$(本);
var str=$(this).data(“certiria”);
过滤器选项卡(str、dis)
});
不再处理相同的ajax请求代码,而是创建一个单独的函数。
然后使用该选项卡中的数据元素保存所需的筛选条件。
然后使用一个通用的click函数检索该数据元素并将其发送到ajax函数来管理请求 使用
.on
进行委派,而不是.live
。然后,您可以使用几乎相同的方法,除了:
$(".Tabs").on('click', 'dd', function () {
var str = $(this).text();
//...
});
使用
.on
进行委派,而不是.live
。然后,您可以使用几乎相同的方法,除了:
$(".Tabs").on('click', 'dd', function () {
var str = $(this).text();
//...
});
这个问题听上去更适合这个问题听上去更适合欢呼,请记住,如果有重复的代码将其提取到函数中,可重用代码组件总是如此……欢呼,请记住,如果有重复的代码将其提取到函数中,可重用代码组件总是如此。。。