我想发送两种不同的安排;一个用于发送所选复选框或单选按钮的值,另一个用于向我发送未选中复选框和单选按钮的值。
这就是导致
的原因<table>
<tr aling=center>
<th>Realizar</th>
<td align="center"><input name="selected_privilege[0]" type="checkbox" value="1" /></td>
</tr>
<tr aling=center>
<th></th>
<td align="center">lectura</td>
</tr>
<tr aling=center>
<th>Nacional</th>
<td align="center" ><input type="radio" name="selected_privilege[0]" value="2"><br></td>
</tr>
<tr aling=center>
<th>Divisional</th>
<td align="center" ><input type="radio" name="selected_privilege[0]" value="3"><br></td>
</tr>
<tr aling=center>
<th>Inmueble</th>
<td align="center"><input type="radio" name="selected_privilege[0]" value="4"><br></td>
</tr>
</table>
到目前为止,这是让我回归的原因
"selected_privilege"=>{"0"=>"2"}
我的控制器
puts "array selected" + params[:selected_privilege].keys.second.to_s
答案 0 :(得分:0)
您可以制作隐藏元素,将未选中的元素发送到您的服务器。
例如
<input id="selected_privilege_zero" name="selected_privilege[0]" type="checkbox" value="1" />
<input id="unselected_privilege_zero" name="selected_privilege[0]" type="hidden" value="1" />
<script>
// Jquery
$('#selected_privilege_zero').on('change', function() {
if (this.checked) {
$('#unselected_privilege_zero').value = this.value;
}
else {
$('#unselected_privilege_zero').value = '';
}
});
</script>
以上将根据是否选中selected_privilege_zero来翻转unselected_privilege_zero的值。如果元素的值为空,则不会将其发送到服务器。
隐藏元素方法也可以用于单选按钮。