私はこれを持っています:
<select id="prio" class="w60">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
別の値を選択すると、次のようonchange = function()
に呼び出されます。
var prio = document.getElementById('prio');
var string1 = "Hello";
var string2 = "";
prio.onchange = function ()
{
prioIndex = prio.options[prio.selectedIndex].text;
switch (prioIndex)
{
case '1': prioIndex = " my Friend";
break;
case '2': prioIndex = " my Sister and Brother";
break;
case '3': prioIndex = " my Mom and Dad";
break;
}
alert(prioIndex);
string2 = prioIndex;
}
alert(string2);
関数内のアラートは正常に機能しますが、彼は新しい文字列を割り当てません。
alert(string2)
string2 (未定義) を示します。
string2
関数の外で使いたい。しかし、割り当てられていないため、できません。しかし、理由はわかりません。
string2
たとえば、別の onchange 関数で使用したいとします...
var string3;
news.onchange = function ()
{
string3 = string2.concat(' how are you');
alert(string3);
}
に割り当てstring3
ます。string3
onchange-function の外で使用したい場合はundefined
.