无论我在代码中做什么,我的隐藏字段的值总是"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",但我无法更改默认值,尽管我的语法肯定是正确的。有人对隐藏字段的值属性有类似的问题吗?(我正在尝试hidden_field而不是hidden_field_tag,但行为相同(
这是我正在使用的erb,value
最初确实有效,但当我将值设置为其他值并刷新时,将应用缓存的值,并且完全忽略value
属性。
<%= f.hidden_field :id, value: @id, id: "id-field" %>
试试这个:
var field = $('input[name="id"]:hidden');
field.val('45');