2012-08-16 153 views
0

我需要检查jsp页面中的按钮是否被单击。将按钮名称和值传递给另一个javascript页面

我有1个jsp页面和2个javascript页面。第一个JSP页面是一个索引,它从用户接收输入并发送到javascript1,然后javascript1查询它并将其输出回索引页面,并在每个输出上嵌入按钮。 我想要的是,如果用户点击一个特定的按钮,javascript2会检测到该特定按钮的点击和获取值以作为下一个搜索查询,并再次将结果显示在索引页面。

这里是我的代码:

的index.jsp

<div>Please enter search keyword</div> 
<input type="text" name="valueLiteral" class="input-box"/><br> 
<input type="submit" name="indexsearch" value="Search" class="input-button"> 

其中,如果输入名称“indexsearch”点击javascript1会检测并采取数值名称“valueLiteral”查询出来的结果。 这部分工作得很好。

这里是代码Javascript1.js:

$(document).ready(function() { 
$("#result").hide(); 
$("input[name='indexsearch']").click(function() { 
    and so on....... 
    var stmt = []; 

    $.each(arrayPredicate, function(k,v){ 
    stmt[k] = "<span class='subject' id="+arraySubject[k]+">" + arraySubject[k] + "</span> " + " -> " + v + " : "+ "<span class='object'>" + arrayObject[k] + "</span>" + "**<input type = 'submit' class = 'searchAgain-button' name = 'searchMore' value = " + arrayObject[k] + "></input>**<br><br>"; 
    }); 
      stmt = stmt.sort(); 
      $.each(stmt, function(k,v){ 
       $("#result").append(v); 
      }); 
     } else { 
      var $noresult = "No Result : Please enter a query"; 
      $("#result").append($noresult); 
     } 
    }); 

正如你所看到的,我创建按钮,并将它添加到每个搜索结果的末尾。这部分仍然有效(出现按钮并显示下一个查询的名称)。

这里是代码的最后一部分:Javascript2.js:

$(document).ready(function() { 
    $("input[name='searchMore']").click(function() { 

    $("#result").show(); 
    $("#result").empty(); 

    loading_img(); 
    var $textInput = $(this).attr("Value"); 

      var stmt = []; 
      //concat all related array into string (create triple statement) 
      $.each(arrayPredicate, function(k,v){ 
       stmt[k] = "<span class='subject' id="+arraySubject[k]+">" + arraySubject[k] + "</span> " + " -> " + v + " : "+ "<span class='object'>" + arrayObject[k] + "</span><input type = 'submit' class = 'searchAgain-button' name = 'searchMore' value = " + arrayObject[k] + "></input><br><br>"; 
      }); 
      stmt = stmt.sort(); 
      $.each(stmt, function(k,v){ 
       $("#result").append(v); 
      }); 
     } else { 
      var $noresult = "No Result : Please enter a query"; 
      $("#result").append($noresult); 
     } 
    });   
}); 

上面的代码是不行的,一些测试后,我觉得这个JavaScript页面无法检测到该按钮的名称“产品搜索more”。并最终使其他部分代码无法正常工作。

任何建议?

+0

我的坏,没有看到我包括java标记,删除:( – 2012-08-16 00:16:03

回答

0

你有没有尝试

$("input[name='searchMore']").live("click", function() { ... 

http://api.jquery.com/live/

描述:附加的事件处理程序在将来当前选择器现在和匹配其中,所有的元素。

+0

完成!!非常感谢您的帮助:D – 2012-08-16 01:06:29

相关问题