结合两个Javascript和jQuery脚本

问题描述

| 我想结合两个单独的Javascript / jQuery脚本。一种是选项卡式搜索框脚本,该脚本确定表单提交时的目的地。另一个是简单的Javascript搜索脚本。 我想结合两个脚本,以便选项卡式脚本确定从搜索脚本中提取内容的位置。我希望人们能理解我要描述的内容。 我的Javascript搜索脚本是:
$(document).ready(function(){
    $(\"#query\").keyup(function(e){
        if(e.keyCode==13){
            var query=$(this).val();
            var yt_url=\'search.PHP?q=\'+query;
            window.location.hash=\'search/\'+query+\'/\';
            $.ajax({
                type:\"GET\",url:yt_url,dataType:\"html\",success:function(results){
                   $(\'#results\').html(results);
                }
            });
        }
    });
});
我的选项卡式搜索脚本是:
$(document).ready(function () {
    Tabs.types.init(\'search\');
    Tabs.search.init();
});

var Tabs = {
    search: {
        init: function () {
            jQuery(Tabs.element.form).bind(\'submit\',function (evt) {
                evt.preventDefault();
                Tabs.search.submit();
            });
        },submit: function () {
                var type = Tabs.types.selected;
                var url = type;
                window.location.href = url;
        },},types: {
        init: function (selected) {
            Tabs.types.selected = selected;
            jQuery(\'.\' + Tabs.types.selected).addClass(\'selected\');
            jQuery(Tabs.element.types).bind(\'click\',function () {
                Tabs.types.click(jQuery(this));
            });
        },click: function (obj) {
            jQuery(Tabs.element.types).each(function () {
                if (jQuery(this).hasClass(\'selected\')) {
                    jQuery(this).removeClass(\'selected\');
                }
            });
            if (obj.hasClass(\'web\')) Tabs.types.selected = \'search\';
            if (obj.hasClass(\'images\')) Tabs.types.selected = \'images\';
            if (obj.hasClass(\'videos\')) Tabs.types.selected = \'videos\';
            if (obj.hasClass(\'news\')) Tabs.types.selected = \'news\';
            if (obj.hasClass(\'social\')) Tabs.types.selected = \'social\';
            obj.addClass(\'selected\');
        }
    },element: {
        types: \'.type\',form: \'#search\',};
    

解决方法

        您可以从
Tabs.types.selected
中获取选定的标签,并在查询中知道它。例如
$(document).ready(function(){
    $(\"#query\").keyup(function(e){
        if(e.keyCode==13){
            var query=$(this).val();
            var yt_url=\'search.php?tab=\' + Tabs.types.selected + \'&q=\' + encodeURIComponent(query);
            window.location.hash=\'search/\'+query+\'/\';
            $.ajax({
                type:\"GET\",url:yt_url,dataType:\"html\",success:function(results){
                   $(\'#results\').html(results);
                }
            });
        }
    });
});
建议您使用query4ѭ编码查询,否则,如果您的用户键入&和?和其他符号,然后再也不会以参数形式到达您的页面。 还要在此代码前放置ѭ5,以确保找到选项卡。