如何在脚本标记之外获取javascript变量的值?

时间:2015-08-14 08:23:31

标签: javascript jquery

我的脚本标记中有一个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函数中使用它。但它似乎没有用。

4 个答案:

答案 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 = .....