您可能希望只是改變這一行:
var type = $('input:radio[name=ctype]:checked').val() || '';
到
var type = $('#create_form input:radio[name=ctype]:checked').val() || '';
這樣的jQuery只是看在最佳狀態,而不是在整個DOM。
不知道總體目標是什麼,但編輯至少會讓你找到你想要的行爲。
如果要在各個保存按鈕,以同樣的方式運作,將其更改爲:
var type = $(this).find('input:radio[name=ctype]:checked').val() || '';
編輯
要獲得其它形式的工作,你需要更改HTML有點讓表單標籤包裹表格,而不是相反。這是我改變了每一個來(注意,這將使而不是一個表的多個表):
<form action="" method="post">
<input name="anchor" value="54" type="hidden">
<table class="alerts" cellspacing="0">
<tbody>
<tr>
<td class="activity-data">54</td>
<td class="activity-data"> <input name="title" id="54_title" value="" type="text" /> </td>
<td class="activity-data"> <input name="owner" id="54_owner" value="" type="text" /> </td>
<td class="activity-data"> <input name="ctype" value="individuel" type="radio" checked/> Individuel <br> <input name="ctype" value="course" type="radio" /> Course </td>
<td> <input value="Save" type="submit" /></td>
</tr>
</tbody>
</table>
</form>
這樣,單選按鈕的形式適當的兒童和jQuery是高興。
我的版本的chrome對待你的示例HTML很奇怪。我認爲你應該把你的表格放在你的表格裏,或者你的表格放在'td's裏面 - 像你這樣交錯表格和表格,導致我的瀏覽器過早地自動終止你的表單DOM元素,使單選按鈕離開形式。 – sje397 2011-05-11 12:41:08