0

这是我可以在 Rails 嵌入式 Ruby 之外使用纯 HTML/JS 做的事情,它本身就可以正常工作,但在我看来,我需要在表单中使用此功能。我一直在玩它,每次我尝试将它应用到嵌入式 Ruby 时它都会中断。

这是我嵌入的红宝石的样子:

<div class="field">
   <%= f.label :credit_type %>
   <%= f.select :credit_type, options_for_select([["Permanent", "Permanent"], ["Term", "Term"]], @credit.credit_type) %>
</div>

<div class="field">
   <%= f.label :term_years %>
   <%= f.number_field :term_years %>
</div>

除非用户从前一个字段中选择“术语”,否则如何隐藏第二个字段?

这就是我如何让它在嵌入式红宝石之外工作,尽管这对我没有帮助,因为我无法存储这些值:

<form id="terms">
    <p>
        <label>Credit Type
            <select name="credit_type">
                <option value=""></option>
                <option value="Permanent">Permanent</option>
                <option value="Term">Term</option>
            </select>
        </label>
    </p>
    <p>
        <label>Term Years
            <input name="term_years">
        </label>
    </p>
</form>
<script>
function toggleShared() {
    var form = this.form,
        credit_type = form.elements.credit_type,
        term_years = form.elements.term_years.parentNode;

    term_years.style.display = 'none';

    if (credit_type.value == 'Term') {
        term_years.style.display = '';
    }
}

var form = document.getElementById('terms');
form.elements.credit_type.onchange = toggleShared;

form.elements.credit_type.onchange();
</script>
4

0 回答 0