我试图将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>
由于
答案 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>