为什么动态创建按钮不起作用?

时间:2013-09-28 13:36:39

标签: javascript jquery html backbone.js underscore.js

我有一个搜索页面,点击按钮,然后显示搜索结果。 但是,在结果页面中,当我继续搜索某些内容时,按钮似乎没有响应:

这是脚本:

    <div id="mainpage" >
    </div>

<script id="search" type="text/xml" >

                <div>

                    <input type="search" name="search" data-style="mini" data-theme="d" placeholder="search" value=""/> 
                    <button id="searchButton" type="submit" onClick="app.navigate('#home/search',{trigger: true});">Search</button>

                </div>
                <div>

                    <table >
                           {{result}}
                    </table>

                </div>

  </script>

这里是部分渲染页面的背面:

  if(route=='search'){

      var data = $.mobile.activePage.find("input[name=search]").val();
      /*

       code to filter the result

      */

      $('#mainpage').html(_.template($('#search').html())(    
      { 
            result: resultvalue }
      )); 



  }

1 个答案:

答案 0 :(得分:0)

你的javascript无效是第一个问题。

您提前关闭_.template方法调用。

尝试将其替换为:

if (route === 'search') {

    var data = $.mobile.activePage.find("input[name=search]").val();

    ...

    $('#mainpage').html(_.template($('#search').html(), {
        result: resultValue
    }));

}

修改

尝试使用以下方法替换按钮上的onclick事件:

onclick="app.navigate('#home/search',{trigger: true}); return false;"

您的onclick事件可能正在发生,但您没有停止提交按钮的默认行为。