Rails表单:从先前选择的字段更改表单字段

不道德的

我有两个像这样的simple_form字段

<%= f.input :ration_card ,as: :radio_buttons,collection: ["Yes","No"], input_html: {id: "rationcard"} %>
<%= f.input :rationcardNum , label: "Ration Card No." ,input_html: {id: "rationcard_no"} %>  

我只想在用户为第一个字段选择“是”时显示第二个字段。我的Jquery:

$(function(){
    $("#rationcard").change(function(){
        if ($("#rationcard").val()=="Yes"){
            $("#rationcard_no").show();
        } else {
            $("#rationcard_no").hide();
        }
    })
})  

我可以看到页面顶部包含了js文件。

生成的HTML:

<div class="control-group radio_buttons optional family_ration_card">
 <label class="radio_buttons optional control-label" for="rationcard">Ration card</label>
  <div class="controls">
   <label class="radio">
    <input id="rationcard" class="radio_buttons optional" type="radio" value="Yes" name="family[ration_card]" checked="checked">
Yes
   </label>
  <label class="radio">
   <input id="rationcard" class="radio_buttons optional" type="radio" value="No" name="family[ration_card]">
No
  </label>
 </div>
</div>  

<div class="control-group string optional family_rationcardNum">
 <label class="string optional control-label" for="rationcard_no">Ration Card No.</label>
  <div class="controls">
   <input id="rationcard_no" class="string optional" type="text" value="DGFR12" size="50" name="family[rationcardNum]">
  </div>
</div>

但是动态字段不起作用。怎么了

或提出任何更好的方法来实现这一目标。

BroiSatse

首先,您不能在输入上放置id,因为您最终将获得两个相同的输入,而jQuery只会找到第一个。其次,您需要在处理程序中使用$(this)。

您需要符合以下条件:

<%= f.input :ration_card ,as: :radio_buttons,collection: ["Yes","No"], wrapper_html: {id: "rationcard"} %>
<%= f.input :rationcardNum , label: "Ration Card No." ,wrapper_html: {id: "rationcard_no"} %>

$(function(){
    var toggle_rationcardNum = function(visible) {
        if (visible){
            $("#rationcard_no").show();
        } else {
            $("#rationcard_no").hide();
        }
    }

    $("#rationcard input").change(function(){
        toggle_rationcardNum($(this).val()=="Yes")
    })

    toggle_rationcardNum($("#rationcard input:checked").val()=="Yes")
})();  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails合并表单字段

来自分类Dev

CoffeeScript在更改和加载时动态选择表单字段

来自分类Dev

Rails更改日期格式的表单字段属性值

来自分类Dev

Django表单字段更改为必填

来自分类Dev

自动更改表单字段中的值

来自分类Dev

Django更改表单字段错误消息

来自分类Dev

提交后更改表单字段的数据

来自分类Dev

JavaScript更改空表单字段的颜色

来自分类Dev

Rails 4:其他表单字段

来自分类Dev

Rails ERB表单字段已隐藏

来自分类Dev

Rails 4.1嵌套模型表单字段

来自分类Dev

Rails代码输入/表单字段

来自分类Dev

只读表单字段

来自分类Dev

表单字段计算

来自分类Dev

Twig表单小部件动态选择表单字段

来自分类Dev

根据表单选择添加表单字段

来自分类Dev

Fields_for表单字段不在Rails表单中显示

来自分类Dev

如果表单字段为空,如何添加类(或更改表单字段的类)?jQuery的

来自分类Dev

选择值更改时,用ajax调用从数据库查询中填充表单字段

来自分类Dev

触发表单字段更改值的更改

来自分类Dev

Ruby on Rails:在提交之前从选择表单字段中获取值

来自分类Dev

重新填充表单字段

来自分类Dev

标记重复的表单字段

来自分类Dev

Javascript动态表单字段

来自分类Dev

表单字段未显示

来自分类Dev

表单字段验证条件

来自分类Dev

如何使表单字段准确?

来自分类Dev

提交表单字段重叠

来自分类Dev

重新填充表单字段