【问题标题】:How to set up input value in hash?如何在哈希中设置输入值?
【发布时间】:2013-11-09 11:40:19
【问题描述】:
 self.search = function() {
        searchRes = $('#search_field').val();
        location.hash = "search" + "/" + searchRes;
    };     
 Sammy(function () {
                    this.get('#search',':searchRes', function() {
                    this.param.searchRes = $('#search_field').val();
                        $('.inside').each(function() {
                            console.log(this.params);
                            if ($(this).text().search($('#search_field').val()) == -1) {
                                $(this).parent().addClass('blind');
                            }
                        });
                    });
                }).run();

我在 url 中设置了输入值,但我无法获得通过 get 函数所需的哈希值。我收到这样的错误:

/#search/resultError {message: "404 Not Found get /#search/result"}

【问题讨论】:

    标签: javascript knockout.js url-routing sammy.js


    【解决方案1】:

    根据SammyJS docs,您的路线必须定义如下:

    this.get('#/search/:searchRes', function() { 
        var searchRes= this.params['searchRes'];    
    });
    

    因为您可以从 param 属性中获取搜索条件,我建议使用此示例:

    var searchRes = this.params['searchRes']; 
    

    SammyJS 对象提供了一个redirect 方法。

    self.search = function() {
        searchRes = $('#search_field').val();
        app.redirect("#/search" + "/" + searchRes;);          
    };   
    

    希望对你有帮助。

    【讨论】:

    • 非常感谢,帮了大忙
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 2021-02-05
    • 2013-09-19
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多