2013-09-28 64 views
0

我有一个搜索页面,当点击按钮时,它会显示搜索结果。 然而,在结果页面上,当我继续寻找的东西,它似乎按钮没有响应:为什么动态创建的按钮不起作用?

这里是脚本:

<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 } 
    )); 



    } 

回答

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事件很可能发生的事情,但你间没有停止提交按钮的默认行为。

+0

对不起,有太多的其他文件使这个脚本工作....我只粘贴与此问题有关的部分,只是想知道为什么渲染页面不接受第二次onClick事件 – JavaScripter

+0

@罗伯特见我的编辑 – seanxe

+0

在日志中,我没有看到导航发生......它只发生在第一次,然后我得到结果页面,当我继续搜索的东西,点击按钮后,在日志,它不会进入该路由范围...是当前网址更改为主页/搜索的原因,但浏览网址仍然尝试导航到导致问题的相同网址? – JavaScripter