我的rails应用程序中有两个单选按钮,如下所示。
<td>
<input checked="checked" onclick="make_disabled('<%=uniqid%>')" type="radio" value='cash' name="expense[<%=uniqid%>][cash]" id="expense_cash<%=uniqid%>" >
</td>
<td>
<input onclick="make_enable('<%=uniqid%>')" type="radio" value='cheque' name="expense[<%=uniqid%>][cheque]" id="expense_cheque<%=uniqid%>" >
</td>
以下三个输入字段:
<td>
<input type="number" disabled='disabled' name="expense[<%=uniqid%>][bank_name]" id="expense_bank_name<%=uniqid%>" >
</td>
<td>
<input type="text" disabled='disabled' name="expense[<%=uniqid%>][comments]" id="expense_comments<%=uniqid%>" >
</td>
<td>
<input type="text" disabled='disabled' name="expense[<%=uniqid%>][cheque_no]" id="expense_cheque_no<%=uniqid%%>" >
</td>
我默认选中radio button
现金。现在点击单选按钮检查我想启用默认的已禁用input fields
。
这是我试图解决的JS脚本,但它无法正常工作。
function make_disabled(uniqid)
{
$("#collection_cheque_no"+uniqid).val('');
$("#collection_cheque_no"+uniqid).attr('disabled','disabled');
$("#collection_bank_name"+uniqid).val('');
$("#collection_bank_name"+uniqid).attr('disabled','disabled');
$("#collection_comments"+uniqid).val('');
$("#collection_comments"+uniqid).attr('disabled','disabled');
}
function make_enable(uniqid)
{
$("#collection_chq_no"+uniqid).removeAttr('disabled');
$("#collection_bank_name"+uniqid).removeAttr('disabled');
$("#collection_comments"+uniqid).removeAttr('disabled');
}
请帮忙。
答案 0 :(得分:1)
您必须使用相同的名称对收音机进行分组:
name="expense[<%=uniqid%>]"
如果您真的需要那些可以使用data-*
属性提供的额外括号:
<input checked="checked" onclick="make_disabled('<%=uniqid%>')" type="radio" value='cash' name="expense[<%=uniqid%>]" data-name="[cash]" id="expense_cash<%=uniqid%>" >
<input onclick="make_enable('<%=uniqid%>')" type="radio" value='cheque' name="expense[<%=uniqid%>]" data-name="[cheque]" id="expense_cheque<%=uniqid%>" >