Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在数据目标参数| Ruby on Rails中插入.erb_Jquery_Ruby On Rails_Ruby_Twitter Bootstrap_Erb - Fatal编程技术网

Jquery 如何在数据目标参数| Ruby on Rails中插入.erb

Jquery 如何在数据目标参数| Ruby on Rails中插入.erb,jquery,ruby-on-rails,ruby,twitter-bootstrap,erb,Jquery,Ruby On Rails,Ruby,Twitter Bootstrap,Erb,我有一个引导(3.3)折叠,用于回复rails应用程序中的个人评论。 折叠的问题是数据目标,aria控件对于每个注释都必须是唯一的。这是因为留下的每个注释都会保留设置为第一条注释的静态值(data target=“#collapse1”) 我尝试使用一些类似下面的ERB插入一个唯一的值来代替“1”,这样每个注释都可以是一个唯一的折叠 不幸的是,这不起作用:data target=“” 我的可疑尝试:数据目标=也没有起作用 我不知道我是否遗漏了关于ERB的一些非常明显的东西,或者这在rails中是

我有一个引导(3.3)折叠,用于回复rails应用程序中的个人评论。 折叠的问题是
数据目标
aria控件
对于每个注释都必须是唯一的。这是因为留下的每个注释都会保留设置为第一条注释的静态值(
data target=“#collapse1”

我尝试使用一些类似下面的
ERB
插入一个唯一的值来代替“1”,这样每个注释都可以是一个唯一的折叠

不幸的是,这不起作用:
data target=“”

我的可疑尝试:
数据目标=
也没有起作用

我不知道我是否遗漏了关于
ERB
的一些非常明显的东西,或者这在rails中是否真的不实用/不可能

如果这更适合Javascript或Jquery,请告诉我。(如果可以的话,请帮帮我!)

提前谢谢你和我分享这段可怕的经历

编辑: 这是我试图操纵的以下代码:

<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">Reply</button>
<div class="collapse" id="collapse1">
  <%= simple_form_for([comment, Comment.new]) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
    <%= f.input :body, :as => :text, input_html: { maxlength: 300 }, label: false, placeholder: "What are your thoughts?", class: "form-control", wrapper_html: { id: 'contactTextarea' } %>
    <%= f.input :name, label: false, placeholder: "Name (required)", class: "form-control" %>
    <%= f.input :email, label: false, placeholder: "Email Address (required) - This is not displayed with the comment", class: "form-control" %>
    <%= f.submit "Reply", class: "btn btn-success" %>
  <% end %>
</div>
回复
:text,input_html:{maxlength:300},label:false,占位符:“你的想法是什么?”,类:“表单控件”,包装器_html:{id:'contactTextarea'}%>

普通HTML编辑:

<div class="wellington top-drop">
  <h3 class="title-top align-left">Name</h3>
  <div style="clear: both;"></div>
  <p class="nobot align-left">Good stuff!</p>
  <button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse11" aria-expanded="false" aria-controls="#collapse11">Reply</button>
  <div class="collapse" id="#collapse11">
    <form novalidate="novalidate" class="simple_form new_comment" id="new_comment" action="/comments/11/comments" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="authenticity_token" value="[token]">

      <div id="contactTextarea" class="form-group text required comment_body"><textarea class="form-control text required" maxlength="300" placeholder="What are your thoughts?" name="comment[body]" id="comment_body"></textarea></div>
      <div class="form-group string required comment_name"><input class="form-control string required" placeholder="Name (required)" type="text" name="comment[name]" id="comment_name"></div>
      <div class="form-group email required comment_email"><input class="form-control string email required" placeholder="Email Address (required) - This is not displayed with the comment" type="email" name="comment[email]" id="comment_email"></div>
      <input type="submit" name="commit" value="Reply" class="btn btn-success" data-disable-with="Reply">
    </form>
  </div>
  <div style="clear: both;"></div>
</div>
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="<%= "#collapse#{comment.id}" %>" aria-expanded="false" aria-controls="<%= "collapse#{comment.id}" %>">Reply</button>
<div class="collapse" id="<%= "collapse#{comment.id}" %>">
  <[reply form]>
</div>

名称

好东西

回复
最终编辑(工作代码):

<div class="wellington top-drop">
  <h3 class="title-top align-left">Name</h3>
  <div style="clear: both;"></div>
  <p class="nobot align-left">Good stuff!</p>
  <button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse11" aria-expanded="false" aria-controls="#collapse11">Reply</button>
  <div class="collapse" id="#collapse11">
    <form novalidate="novalidate" class="simple_form new_comment" id="new_comment" action="/comments/11/comments" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="authenticity_token" value="[token]">

      <div id="contactTextarea" class="form-group text required comment_body"><textarea class="form-control text required" maxlength="300" placeholder="What are your thoughts?" name="comment[body]" id="comment_body"></textarea></div>
      <div class="form-group string required comment_name"><input class="form-control string required" placeholder="Name (required)" type="text" name="comment[name]" id="comment_name"></div>
      <div class="form-group email required comment_email"><input class="form-control string email required" placeholder="Email Address (required) - This is not displayed with the comment" type="email" name="comment[email]" id="comment_email"></div>
      <input type="submit" name="commit" value="Reply" class="btn btn-success" data-disable-with="Reply">
    </form>
  </div>
  <div style="clear: both;"></div>
</div>
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="<%= "#collapse#{comment.id}" %>" aria-expanded="false" aria-controls="<%= "collapse#{comment.id}" %>">Reply</button>
<div class="collapse" id="<%= "collapse#{comment.id}" %>">
  <[reply form]>
</div>
回复

应该是这样的:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>

data:{toggle:“value here”,target:#collapse}
以下是您发布的上述代码:

<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">Reply</button>
回复
我想你希望它是这样的:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>
回复
如果您希望它以Rails erb格式运行,可以如下所示:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>

应该是这样的:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>

data:{toggle:“value here”,target:#collapse}
以下是您发布的上述代码:

<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">Reply</button>
回复
我想你希望它是这样的:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>
回复
如果您希望它以Rails erb格式运行,可以如下所示:

data: { target: "#collapse<%=@comment.id%>" }
data: { target: "#collapse<%=@comment.id%>", toggle: "value-here" }
<button type="button" class="btn btn-xs btn-success align-right" data-toggle="collapse" data-target="#collapse<%=@comment.id %>" aria-expanded="false" aria-controls="collapse<%=@comment.id%>">Reply</button>
<%= button_tag "Name of your Button", class: "btn btn-xs btn-success align-right", data: {toggle: "collapse", target: "#collapse<%=@comment.id %>", expanded: "false"}, "aria-controls": "collapse<%=@comment.id%>" %>

您可以这样做

data-target='<%= "#collapse#{@comment.id}" %>'
你能行

data-target='<%= "#collapse#{@comment.id}" %>'
data target=”“
不会引发错误,因为ERB标记中的表达式按照单引号呈现为“普通”字符串

在ERB模板中,您可以像任何其他模板一样添加任何数据属性,
data target=“”
应该可以工作,如果您确定@comment不是nil并且可以返回其id。

data target=“”
不会引发错误,因为ERB标记中的表达式按照单引号呈现为“普通”字符串



在ERB模板中,您可以像任何其他模板一样添加任何数据属性,
data target=“
应该可以工作,如果您确定@comment不是nil,并且可以返回其id。

因为您是@comment是nil,您在哪里定义
@comment
,您肯定不是
comment
,现在渲染的是什么?您得到的是
#collapse11
,应该是什么?@Jake您现在得到的是远,您的问题是要插入数据属性参数。它不起作用,因为它可能是由您的JS引起的。你有没有检查过除了HTML以外的所有东西?因为你的@comment是零。你在哪里定义
@comment
,你肯定不是
comment
?在纯HTML中,现在呈现的是什么?你得到的是
#collapse11
,应该是什么?@Jake你现在走得远了,您的问题是要插入数据属性参数。它不起作用,因为它可能是由您的JS引起的。您是否检查了所有内容,而不仅仅是HTML内容?我如何将多个
数据
属性正确格式化为一行?例如:
data toggle=“collapse”data target=“#collapse1”aria expanded=“false”aria controls=“collapse1”
@Jake您可以将其添加到目标之后或之前。我会为你更新我的答案。但是,我回答对了吗?@Jake你不能在
数据:{}
中添加aria扩展,你能做的就是用qoutes包装它<代码>“aria展开”:“false”
@Jake,答案已更新。我希望你得到了正确的答案。你检查你的JS了吗?折叠不是HTML作业。如何使用一行中的多个
数据
属性正确格式化此作业?例如:
data toggle=“collapse”data target=“#collapse1”aria expanded=“false”aria controls=“collapse1”
@Jake您可以将其添加到目标之后或之前。我会为你更新我的答案。但是,我回答对了吗?@Jake你不能在
数据:{}
中添加aria扩展,你能做的就是用qoutes包装它<代码>“aria展开”:“false”
@Jake,答案已更新。我希望你得到了正确的答案。你检查你的JS了吗?折叠不是HTML作业。您提供的第一种方法不会引发任何错误,但不会让任何按钮切换任何折叠。请注意;我把它也包括在我的collapse
id
字段中。它不会引起任何错误,因为它是一个“完整的普通”字符串,没有双引号,它不会被插入,你会看到相同的
“#collapse{@comment.id}
。试试第二种方法。检查元素,查看(此处复制/粘贴)您得到的结果。很抱歉造成混淆,您是对的,每个
aria controls=“”
div id=“”
的复制/粘贴作业都有错误。您提供的第一种方法不会引发任何错误,但不会让任何按钮切换任何折叠。请注意;我把它也包括在我的collapse
id
字段中。它不会引起任何错误,因为它是一个“完整的普通”字符串,没有双引号,它不会被插入,你会看到相同的
“#collapse{@comment.id}
。试试第二种方法。检查元素,查看(在此处复制/粘贴)得到的内容。S