在php重定向之后JQuery没有运行

时间:2013-07-17 01:26:20

标签: php jquery

这可能很简单,但我似乎无法弄明白。我提交了一个php表单,当表单完成所有操作(即将项目提交到数据库)后,表单会重定向以查看所有“评论”。

在这个评论页面上,我有一个jQuery运行章节选择下拉列表。首次重定向页面时,下拉列表不起作用,章节之间不会更改。现在,当我重新加载页面并从下拉列表中选择一个章节时,它可以正常工作。

我做错了什么或有没有办法在页面加载时触发这些功能?

我的JQuery对于下拉列表看起来像这样,这在刷新页面后确实有效

$(document).ready(function () {

 $('#sortReviews').change(function () {
            var review = $(this).val();
            var allReviews = review.split('/')[1];
            if (allReviews == "allreviews") {
                $(location).attr('href', 'http://writeyourfiction.com/reviews/' + review)
            } else {
                $(location).attr('href', '/chapterReviews/' + review)
            }
        });
 });

我的重定向只是一个简单的codeigniter重定向

redirect('chapterComments/'.$story_id.'/'.$chapter_id);

任何帮助都会很精彩!

3 个答案:

答案 0 :(得分:0)

您应该使用$(document).ready(../*your code*/..)代替$('#sortReviews').change

答案 1 :(得分:0)

添加一些函数来刷新它..并在文档就绪时调用它,当你的选择列表onChange:

$(document).ready( function() {
    $('#sortReviews').change(function () {
        refresh();
    });
    refresh();
});


function refresh(){
    var review = $(this).val();
    var allReviews = review.split('/')[1];
    if (allReviews == "allreviews") {
        $(location).attr('href', 'http://writeyourfiction.com/reviews/' + review)
    } else {
        $(location).attr('href', '/chapterReviews/' + review)
    }
 }

答案 2 :(得分:0)

我认为,这是因为没有在jquery中使用完整的URL重定向。

试试这个。


$(document).ready(function () {

 $('#sortReviews').change(function () {

            var review = $(this).val();
            var allReviews = review.split('/')[1];
            var href ; 

            if (allReviews == "allreviews") {

                href = 'http://writeyourfiction.com/reviews/' + review ;

            } else {

                href = 'http://writeyourfiction.com/chapterReviews/' + review ;

            }

            location.replace(href);

        });

 });