[英]How to enable/disable an input field with a checkbox in ruby on rails
[英]Ruby on Rails Javascript to Disable Text Field With Checkbox
我目前在其中一個具有以下字段的視圖中使用form_for
<%= f.checkbox :free %>
<%= f.checkbox :rsvp %>
<%= f.textfield :price %>
另外,我完全不知道如何將javascript實際嵌入我的html / erb視圖中以使所有內容協同工作。
首先,我希望一次只能使用其中一個。 例如,如果選中一個框,則另一框和價格被禁用。 如果輸入了價格,則兩個框將被禁用。
我想我可以做些類似的事情:
$(document).ready(function () {
$("#event_free").click(function () {
if ($(this).is(":checked")) {
$("#event_price").prop("disabled", true);
} else {
$("#event_price").prop("disabled", false);
}
});
});
當然,這僅適用於免費復選框。 必須有一個更好的方法來做到這一點。
要將javascript嵌入.html.erb文件中,請在文件中的任何位置使用以下代碼:
<script type="text/javascript">
//your javascript code here
</script>
前一段時間,我面臨着類似的問題。 這可能對您有幫助:
HTML:
<div data-limited-checkboxes data-limit="3">
<input type="checkbox" checked />
<input type="checkbox" checked />
<input type="checkbox" checked />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
JS:
jQuery(function($) {
var restrictCheckboxes = function(container) {
var limit = $(container).data("limit");
var checkboxes = $(container).find("input:checkbox");
var selectedCount = checkboxes.filter(":checked").length;
checkboxes.filter(":not(:checked)").prop("disabled", parseInt(limit) <= selectedCount);
};
$("[data-limited-checkboxes] input:checkbox").bind("change", function(checkbox) {
restrictCheckboxes($(this).parents("[data-limited-checkboxes]"));
});
$("[data-limited-checkboxes]").each(function() {
restrictCheckboxes($(this));
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.