在javascript中将函数变量值传递给新变量

时间:2014-08-04 11:44:56

标签: javascript html

我试图将xyz的值从函数传递给新的var abc,但它不起作用。 我试过像abc =“'”+ xyz +“'”; (不工作) 如果我尝试像abc ='任何';它工作,我可以使用abc值来document.ready函数中的新函数。 我希望动态生成xyz的值,对于带单引号的abc。 有了你所有的建议,我正在更新代码,我一直尝试...但不知道为什么abc没有捕获xyz或newcityval()的值; 此外,我在代码上方有一个行脚本,其中指定了默认值abc。现在,当城市价值变化时,city_val会更新,同样我会使用警报功能进行检查。 对于abc,如果我手动输入任何值,如abc ='anything';并提醒它工作正常。 但使用所有的suggesstions它不起作用。 我还声明了xyz和abc的全局变量。 更新的代码

<script type='text/javascript'>abc = 'any value';</script>
<script type='text/javascript'>
var xyz;
var abc;
function newcityval(){  
    xyz = $("#city").val();
    document.getElementById('city_val').value=xyz;
    return alert("'"+xyz+"'");

}

abc=newcityval();
if(abc!='')
{
alert("value is "+abc);
}
else
{
    alert('No value');
}

</script>

由于

4 个答案:

答案 0 :(得分:1)

尝试abc =&#34;&#39;&#34; + newcityval()+&#34;&#39;&#34;

您正在为newcityval函数声明xyz local,因此它在外部不可用。

答案 1 :(得分:1)

如果要使用函数的返回值,请使用:

abc = newcityval();

abc="'"+xyz+"'";中,xyz是一个未定义的变量。因为你在函数中定义了你的xyz变量。


更新

设置这样的脚本:

<script type='text/javascript'>
    function newcityval(){
        xyz = $("#city").val();
        document.getElementById('city_val').value=xyz;
        return "'"+xyz+"'";
    }

    function run()
    {
        abc=newcityval();
        if(abc!='')
        {
            alert("value is "+abc);
        }
        else
        {
            alert('No value');
        }
    }
</script>

HTML code:

<input id="city" />
<input id="city_val" />
<button onclick="run()">do</button>

答案 2 :(得分:0)

您需要输入

var abc = newcityval();

xyz是newcityval范围内的变量,这意味着当您尝试将其分配给abc时它不可用。

答案 3 :(得分:0)

解决它的许多选择。这基本上是一个范围问题。

1&GT;将xyz的范围更改为全局,并调用函数进行设置。

<script type='text/javascript'>
    var xyz;
    function newcityval(){  
        xyz = $("#city").val();
        document.getElementById('city_val').value=xyz;
        return;
    }
    newcityval();
    abc="'"+xyz+"'"; 
</script>

2 - ;通过调用函数设置abc并返回值

<script type='text/javascript'>
    function newcityval(){  
        var xyz = $("#city").val();
        document.getElementById('city_val').value=xyz;
        return "'"+xyz+"'";
    }
    abc=newcityval();      
</script>

3&GT;或者,如果city_val由未列出的事件设置,请参阅当前的city_val值

<script type='text/javascript'>
    function newcityval(){  
        var xyz = $("#city").val();
        document.getElementById('city_val').value=xyz;
        return xyz;
    }
    abc=document.getElementById('city_val').value; 
</script>