我的脚本标记中有一个javascript变量,我试图将其发送到另一个javascript文件。
<script>
$( document ).ready(function() {
$('#target-group').click(function() {
var targetGroups = $("input:checkbox:checked", ".actors-$i").map(function() {
return $(this).val();
}).get();
$('#out').append(targetGroups.join(','));
});
});
</script>
我尝试使用<input type="hidden" name="type" id="out"/>
并在另一个javascript函数中使用它。但它似乎没有用。
答案 0 :(得分:1)
尝试在输入元素上使用.val()
,因为输入元素是void元素。它们里面没有任何东西,
$('#out').val(targetGroups.join(','));
答案 1 :(得分:0)
如果要附加值,请尝试以下操作。
$('#out').val( $('#out').val() + targetGroups.join(','));
答案 2 :(得分:0)
一些事情:
1)你的第二个元素选择器中有$
个。使用任何元字符
( such as !"#$%&'()*+,./:;<=>?@[\]^`{|}~ )
作为名称的文字部分,必须使用两个反斜杠进行转义:\\
2).append()
将内容附加为html,textbox具有value属性。您应该使用.val()
将值设置为input element:
var targetGroups ='';
$('#target-group').click(function() {
targetGroups = $("input:checkbox:checked", ".actors-\\$i").map(function() {
return this.value;
}).get();
$('#out').val(targetGroups.join(','));
});
答案 3 :(得分:0)
您只需要从另一个脚本访问您的变量,这是正确的吗?您可以通过使变量的范围全局化来轻松实现这一目标。为此,请删除var
关键字,这会使您的变量成为本地变量,或者,如果您想要更明确,请将其设置为window
对象,如下所示:
window.targetGroups = .....