无论我在代码中做什么,隐藏字段的值始终为“ 1”。我试图通过ERB,HTML和jQuery在代码中进行设置,但唯一起作用的是Javascript控制台中的jQuery。我在实际的代码库中所做的任何事情都不会影响它。
我希望它从nil的值开始,并使用JS将其设置为整数,但是我为完全能够将其从“ 1”更改而感到满意。
这是我尝试过的ERB:
<%= hidden_field_tag "id", nil, id:"id-field" %>
这是我尝试过的HTML:
<input type="hidden" name="id" id="id-field" value="0">
这是我尝试过的jQuery:
$("#id-field").val(47);
但是所有结果都会导致:
<input type="hidden" name="id" id="id-field" value="1">
就像我说的,如果我在控制台中运行jQuery,则最终可以更改该值。发生了什么事?
更新:
这绝对是一个缓存问题。我将值一次设置为“ 1”,但是我的语法绝对正确,但是我无法更改默认值。有人对隐藏字段的value属性有类似的麻烦吗? (我正在尝试使用hidden_field而不是hidden_field_tag,但是行为相同)
这是我正在使用的erb,value
最初确实起作用,但是当我将值设置为其他值并刷新时,将应用缓存的值,并且value
属性将被完全忽略。
<%= f.hidden_field :id, value: @id %>
尝试一下:
var field = $('input[name="id"]:hidden');
field.val('45');