javascript将变量添加到输入字段rails
我有一个Javascript变量,它获取选择框的值。我想用value=选择框的值附加输入字段。然而,他无法让这项工作javascript将变量添加到输入字段rails,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我有一个Javascript变量,它获取选择框的值。我想用value=选择框的值附加输入字段。然而,他无法让这项工作 $(function () { $(document).on("change", "#extra_crew", function (e) { var extra_crew = $('#extra_crew').val(); $('#extra_crew_area').append( ' <div cla
$(function () {
$(document).on("change", "#extra_crew", function (e) {
var extra_crew = $('#extra_crew').val();
$('#extra_crew_area').append(
' <div class="col-sm-12 m-t-10 m-b-10 no-padding">'
+ '<%= text_field_tag :reservation_type, "", class: "form-control m-b-10", :value => "'
+ extra_crew
+ '" %>'
+ '</div>');
console.log(extra_crew);
});
});
它工作得很好,但输入字段中的字符串似乎无法连接
然后是这样的
我已经测试了你的代码,它会工作的。但这里是你的服务器代码吗 “+额外船员+”%>
我认为它是ruby,不会在浏览器上运行我已经测试了你的代码,它会工作的。但这里是你的服务器代码吗 “+额外船员+”%>
我认为它是ruby,不会在浏览器上运行,只需从文本字段中删除“+extra_crew+”,并在下面添加js即可
$('#extra_crew_area').find(".form-control:last input[type='text']").val(extra_crew);
只需从文本字段中删除“+extra_crew+”,并在下面添加js
$('#extra_crew_area').find(".form-control:last input[type='text']").val(extra_crew);
我认为您可能需要调用字符串“+extra_crew+”上的html_safe,以告诉rails在不将引号转义到html实体的情况下渲染它:
+'<%= text_field_tag :reservation_type, "", class: "form-control m-b-10", :value => "'+extra_crew+'".html_safe %>'
但是,我不确定这是否会起作用-更传统的方法是完全用javascript创建div,然后和文本字段,而不是尝试使用Rails创建输入标记-类似于这样:
var newDiv = $("<div>", {id: "foo", class: "col-sm-12 m-t-10 m-b-10 no-padding"});
var textField = $("<input>", {type: "text", name: "reservation_type", class: "form-control m-b-1", value: extra_crew });
newDiv.append(textField);
$('#extra_crew_area').append(newDiv);
你可以稍微浓缩一下:
$('#extra_crew_area').append(
$("<div>", {id: "foo", class: "col-sm-12 m-t-10 m-b-10 no-padding"}).append(
$("<input>", {type: "text", name: "reservation_type", class: "form-control m-b-1", value: extra_crew })
)
);
我认为您可能需要调用字符串“+extra_crew+”上的html_safe,以告诉rails在不将引号转义到html实体的情况下渲染它:
+'<%= text_field_tag :reservation_type, "", class: "form-control m-b-10", :value => "'+extra_crew+'".html_safe %>'
但是,我不确定这是否会起作用-更传统的方法是完全用javascript创建div,然后和文本字段,而不是尝试使用Rails创建输入标记-类似于这样:
var newDiv = $("<div>", {id: "foo", class: "col-sm-12 m-t-10 m-b-10 no-padding"});
var textField = $("<input>", {type: "text", name: "reservation_type", class: "form-control m-b-1", value: extra_crew });
newDiv.append(textField);
$('#extra_crew_area').append(newDiv);
你可以稍微浓缩一下:
$('#extra_crew_area').append(
$("<div>", {id: "foo", class: "col-sm-12 m-t-10 m-b-10 no-padding"}).append(
$("<input>", {type: "text", name: "reservation_type", class: "form-control m-b-1", value: extra_crew })
)
);
不管它是否是ruby,问题是我得到额外的\u-crew作为字符串而不是值,可能是因为引号标记的缘故。不管它是否是ruby,问题是我得到额外的\u-crew作为字符串而不是值,可能是因为引号标记的缘故。将单引号移到+extra-crew+@ana周围,但不起作用,仍然字符串为+extra_-crew+extra_-crew\u区域是div?删除+extra_-crew+@Anand周围的单引号,仍然字符串为+extra_-crew+extra_-crew\u区域是div?