2015-12-04 13 views
0

我有一個單選按鈕事件處理使用jQuery的問題。我是JQuery的新手,但嘗試使用JQuery處理html表單元素事件。在最近的日子裏,我已經添加了JQuery datepicker到我的表單工作正常,現在試圖添加單選按鈕並處理單選按鈕的選中和未選中的事件,以隱藏和顯示html元素的某些部分(文本字段,選擇和其他元素)。struts2與jquery單選按鈕事件問題

這裏是我的代碼

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="tags" uri="/struts-tags"%> 
<html> 
<head> 
     <link rel="stylesheet" href="jquery/jquery-ui.css"> 
</head> 
<body> 
<tags:form name="someForm" action="someAction" method="post"> 
    <tags:textfield key="someActionClass.transactionDate" id="datepicker"  label="Transaction Date" /> 
    <tags:radio list="#{'1':'One Time','2':'Recurring'}" id="tType" lable="Transaction Type" name="recurringOrOneTime"></tags:radio> 


    <div class="recuType"> 
    <h1>this part should be hiden/show depending upon radio button events</h1> 
    </div> 

    <script src="jquery/external/jquery/jquery.js"></script> 
    <script src="jquery/jquery-ui.js"></script> 
    <script> 

    $("#datepicker").datepicker({ 
    inline: true 
    }); 

    $("#tType").change(function(){ 
    alert('Radio Button event raised'); 
    }); 

    </script> 
    </tags:form> 
    </body> 
    </html> 

我加入,我已經在jQuery的目錄下載了我的JQuery的日期選擇器JQuery的LIB,你可以從這個鏈接標籤看到

<link rel="stylesheet" href="jquery/jquery-ui.css"> 

所以,當我點擊單選按鈕,沒有事件正在生成。爲了測試的目的,我試圖用選定的單選按鈕值彈出並提醒消息,但沒有運氣。我經歷了這麼多的帖子和例子,其中大部分都使用html輸入標籤,我想使用struts2標籤元素。

有沒有錯誤,我正在做我的代碼?或錯過任何圖書館?請幫助

回答

2

用途:

$("input[name='recurringOrOneTime']").change(function(){ 
     alert('Radio Button event raised'); 
     }); 

而不是

$("#tType").change(function(){ 
    alert('Radio Button event raised'); 
    }); 

ID必須是一個HTML文檔中獨一無二的,你要指定2個單選按鈕相同的ID。

+0

所以如何在我的情況下分配兩個不同的ID。由於我使用的是struts2,我們應該給出一個單選按鈕的列表以及如何添加兩個不同的ID? –

+0

你有什麼特別的理由給他們分配ID?通常,單選按鈕只需要用於表單提交的名稱屬性,也可以是用於樣式的類。 – AVAVT

+0

現在我能夠觸發事件,但我的下一個要求是隱藏HTML元素,如文本框,選擇和其他元素被放置在

this part should be hiden/show depending upon radio button events

我可以隱藏純文本,但是當涉及到文本字段或其他表單元素不是這樣。如何爲他們執行隱藏和顯示操作。請建議 –

1

你可以改變兩兩件事:

  1. 改變屬性idclass
  2. 改爲在類名上綁定事件。

變化

id="tType" 

class="tType" 

現在綁定事件:

$(".tType").change(function(){ 
    alert('Radio Button event raised'); 
}); 

,甚至你可以用指它0等:

$("form input[type='radio']").change(function(){ // or $("form :radio") 
    alert('Radio Button event raised'); 
});