2011-12-12 413 views
0

下面是表任何原因.change表單行內的單選按鈕被選中時,任何原因.change事件不會觸發?

<table id="siteTemplateTable" cellpadding="5px"> 
<tr> 
    <td> 
     <img src="img1.png" width="100" height="100" alt="Team Site" /> 
    </td> 
    <td> 
     <input type="radio" name="rblSiteTemplates" id="rblSiteTemplates_STS#0" value="STS#0" title="Team Site" /> 
    </td> 
    <td>Team Site 1</td> 
</tr> 
<tr> 
    <td> 
     <img src="img2.png" width="100" height="100" alt="TS2" /> 
    </td> 
    <td> 
     <input type="radio" name="rblSiteTemplates" id="rblSiteTemplates_STS#1" value="STS#1" title="TS2" /> 
    </td> 
    <td>TS2</td> 
</tr> 

下面的jQuery:

 //********************************************************************* 
     //toggle the message for site template radion buttons 
     //********************************************************************* 
     $('input[name="rblSiteTemplates"]').change(function() { 
      alert("HERE"); 
      $("#siteTemplateMessage").hide(); 
     }); 

警報從不顯示,當你選擇一個單選按鈕siteTemplateMessage就不會被擋住。有什麼想法嗎?

siteTemplateMessage是頁面上的div。

   <div id="siteTemplateMessage" class="template_error_message_indent error_message_pad_top important"></div> 

問題如下。用戶不選擇單選按鈕,並且siteTemplateMessage.show()。現在,當他們選擇一個單選按鈕時,.change事件應該觸發執行以上.hide()

回答

1

嘗試:

 
$('input[name="rblSiteTemplates"]').click(function() { 

+0

沒有相同的行爲,它不會隱藏siteTemplateMessage股利。我知道它與表格行內部的單選按鈕有關,因爲我在同一頁面上有單選按鈕,可以正常使用.change事件 – Anthony

0

.change只有被炒魷魚,如果有變化,如果選擇了單選按鈕,然後再在用戶點擊單選按鈕沒有任何改變,因此事件不是被解僱。

如果這是需要的行爲,請使用.click事件而不是.change。

+0

尋找更改,而不是單擊。如果單選按鈕從沒有選擇到任何選擇。他們可以多次點擊同一個,但不會影響所需的行爲。沒有人工作,點擊或更改。 – Anthony

0

你的代碼幾乎是正確的。 change也工作正常。你是hiding元素與編號siteTemplateMessage但我沒有找到任何元素與這樣的id。我已經添加了這個ID的元素進行測試,然後我修改了代碼。請檢查小提琴。

http://jsfiddle.net/qaJXQ/1/

+0

可以在小提琴手中工作,但它必須與jquery.wizard和其他相關插件有關。 – Anthony

+0

nope ...一切都在基本的jQuery插件中可用。代碼沒有太大的變化,像這樣的小改動不見了。 –

相關問題