2012-08-16 154 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

相關問題