我正在尝试使用javascript或jquery让我的应用识别出div
中有active
类的hidden_field_tag
作为{er} form_for
<div id="q1" class="row gen-quest-div">
<h1>How long do you have?</h1>
<div class="row answers">
<div id="q1-15" class="answer q1-answer col-xs-6 col-sm-3">
<%= image_tag 'min-15.jpg', alt: "Put 15 minutes on the clock!" %>
<p>15 Minutes</p>
</div>
<div id="q1-30" class="answer q1-answer col-xs-6 col-sm-3">
<%= image_tag 'min-30.jpg', alt: "Put 30 minutes on the clock!" %>
<p>30 Minutes</p>
</div>
<div id="q1-45" class="answer q1-answer col-xs-6 col-sm-3">
<%= image_tag 'min-45.jpg', alt: "Put 45 minutes on the clock!" %>
<p>45 Minutes</p>
</div>
<div id="q1-60" class="answer q1-answer col-xs-6 col-sm-3">
<%= image_tag 'min-60.jpg', alt: "Put 60 minutes on the clock!" %>
<p>60 Minutes</p>
</div>
</div> <!-- answers row -->
</div> <!-- question div -->
<div class="btn-primary" id="pre-submit">Pre Submit</div>
<script>
// Selection handling
$( document ).ready(function() {
$('.q1-answer').on('click', function() {
$('.q1-answer').removeClass('active');
$(this).toggleClass('active');
});
$('.q2-answer').on('click', function() {
$('.q2-answer').removeClass('active');
$(this).toggleClass('active');
});
$('.q3-answer').on('click', function() {
$('.q3-answer').removeClass('active');
$(this).toggleClass('active');
});
});
// Form handling
$('#pre-submit').on('click', function() {
if ($('#q1-15').hasClass('active')) {
console.log("So far this works."); // <<<<THIS LINE
}
});
</script>
的值。到目前为止,我有以下结构设置和工作:
div
通过在单击时标记.active
成功选择console.log
,并在选择答案时打印 <%= form_for @generator do |f| %>
<div id="q1-form-field">
<%= hidden_field_tag :time, id: "q1-hf" %>
</div>
...
<div class="text-center">
<h3><%= f.submit "Submit" %></h3>
</div>
<% end %>
语句(仅用于测试目的......)。现在困难的部分是如何替换标记线以使表格识别答案。我的表单结构如下:
<input type="hidden" name="time" id="time" value="{:id=>"q1-hf"}">
如果不采取任何措施,隐藏字段将转换为html中的console.log
,这可能是也可能不是问题。
并尝试了多种方法来替换javascript中的div
语句,并根据.active
document.getElementById("q1-hf").value = 1;
为隐藏字段指定值。
首先,new:200 Uncaught TypeError: Cannot set property 'value' of null
收到控制台错误,说$('#q1-hf').val(1);
或者,hidden_field_tag
不会产生控制台错误,但也不会更改 if (width < 768) {
for (i = 0; i < div.length; i++) {
div[i].classList.remove("center");
}
} else {
div[i].classList.add("center");
}
值。
任何人都可以帮我解决这个问题吗?我对其他完成相同目标的结构持开放态度,但我已经查看了this或this等其他帖子,这些帖子似乎表明这应该是可行的。
答案 0 :(得分:1)
#include<stdio.h>
#include<math.h>
#define MOD 1000000007
// calculate (b^e) % MOD
long long powerMod(long long b, long long e)
{
long long ret = 1;
b %= MOD;
while(e > 0)
{
if(e & 1) {
ret = (ret * b) % MOD;
}
b = (b * b) % MOD;
e >>= 1;
}
return ret % MOD;
}
int main()
{
long long tcase, n;
scanf("%lld",&tcase);
while(tcase--)
{
scanf("%lld", &n);
long long result = powerMod(2, n) - 1;
printf("%lld\n", result);
}
return 0;
}
此代码使用<%= hidden_field_tag :time, id: "q1-hf" %>
进行隐藏输入,因此您应该id="time"
如果您希望id为“q1-hf”,则应将其更改为
document.getElementById("time")
它将呈现为<%= hidden_field_tag 'q1-hf' %>
,您可以按照问题中描述的方式访问它。