0

我在 jQuery 中使用 SimpleModal,并使用 Ajax 来显示单选按钮。它应该列出单选按钮和值。单击单选按钮后,页面将被重定向到 page2。

当我在 localhost 上测试它时,一切都很好。但它不会重定向 Web 服务器上的页面。

我应该做些什么改变?

我的代码:

..............
$.ajax({
    url: 'test.php',
    cache: false,
    success: function(data) {
        $('#resp').modal({
            close: false,
            position: ["4%",],
            overlayId: 'confirmRespOverlay',
            containerId: 'confirmRespContainer',
            onShow: function (second) {
                second.data.find(".buttons .yes").hide();
                var resp = $("<div/>").append(data);
                var title = resp.find("#title").html(),
                message = resp.find("#message").html();
                second.data.find(".header span").html(title);
                second.data.find('.info').append(message);
                second.data.find('.yes').click(function () {
                });
            }//onShow
        }); //Resp

        $("input:radio").click(function() {
            var url="http://page2"
            window.location.replace(url);
        }); //input
    }//success
}); //ajax

test.php 返回以下

echo "<tr><td><input type=\"radio\" name=\"value_\" onClick=\"showUser(this.value)\" value=".$id1.">".$val1."</td><td>".$name."</td></tr>";

echo "<tr><td><input type=\"radio\" name=\"value_\" onClick=\"showUser(this.value)\" value=".$id2.">".$val2."</td><td>".$name."</td></tr>";

单击单选按钮后页面停止并且不会移动到下一页。我该如何解决这个问题?

4

1 回答 1

1

在我看来,您在注册事件时尚未添加您的输入。

有两种选择,一种是在显示之前将您的数据加载到模态中(即绕过您的 onshow 方法)

$.ajax({ 
   url: 'test.php', 
   cache: false, 
   success: function(data) { 
       var second = $('#resp');
       second.data.find(".buttons .yes").hide();
       var resp = $("<div/>").append(data);
       var title = resp.find("#title").html();
       message = resp.find("#message").html();
       second.data.find(".header span").html(title);
       second.data.find('.info').append(message);
       second.data.find('.yes').click(function () {
       }); // click

       $('#resp').modal({
          close:false,
          position: ["4%",],
          overlayId:'confirmRespOverlay',
          containerId:'confirmRespContainer'
        }); //Resp

       $("input:radio").click(function() {
            var url="http://page2"
            window.location.replace(url);
       }); //input 

  }//success 

}); //ajax

或者在 onshow 方法中注册你的事件

$.ajax({ 
   url: 'test.php', 
   cache: false, 
   success: function(data) { 

       $('#resp').modal({
          close:false,
          position: ["4%",],
          overlayId:'confirmRespOverlay',
          containerId:'confirmRespContainer', 
          onShow: function (second) { 
                    second.data.find(".buttons .yes").hide();
                    var resp = $("<div/>").append(data);
                    var title = resp.find("#title").html();
                    message = resp.find("#message").html();
                    second.data.find(".header span").html(title);
                    second.data.find('.info').append(message);
                    second.data.find('.yes').click(function () {
                     });

                    $("input:radio").click(function() {
                      var url="http://page2"
                      window.location.replace(url);
                    }); //input 
          }//onShow

        }); //Resp

  }//success 

}); //ajax
于 2009-02-09T20:27:37.703 回答