3

別の奇妙なものを手に入れました:

これが私のphpです:

echo "</tr><tr>";
echo "<td style='color:white;'>".$row['iDesc']."</td><td>".$row['pCnt']."</td><td style='color:".$color.";'>".$row['pDur']."</td><td>".$row['pStr']."</td><td>".$row['pSpd']."</td><td>";
echo "<select name='wield".$row['pNum']."' id='wield".$row['pNum']."' size='1' style='width: 100px;' onChange='wieldit(".$row['pNum'].");'>";
echo "<option value=0>Use On";
$query = "Select item, iDesc from item where iType = 1";
$result2 = mysql_query($query, $_SESSION['connect']);
while ($row2 = mysql_fetch_array($result2)) {
  echo "<option";
  echo " value=".$row2['item'].">".$row2['iDesc']."</option>";
}
echo "</select></td>";
}

これが私のjsです:

function wieldit(num) {
    var id = "wield"+num;
    var e = $(id); 
    var t =  e.options[e.selectedIndex].value;
    var params = "sWield="+t;
    params += "&sNum="+num;
    new Ajax.Updater('div06', 'php/pack.php', {method: 'get', parameters: params, onComplete: showBody});
}

これを実行すると、選択ボックスの値は0、1、2、26、25、24、23、31になります。たとえば、$ row ['pNum'] = 6を実行していて、値を選択しています。 31. js sWield=0およびsNum=6のパラメーターについてアラートを行う場合、sWieldは31である必要があります。アイデア?。異なる値で実行する場合、$ row ['pNum'] = 11と言い、js sWield = 25で値25を選択すると、sNumは11になります。アイデア?

4

2 に答える 2

3

最初のオプションを閉じていません echo "<option value=0>Use On</option>";

最初にこれを閉じてみてください!

于 2012-04-16T18:01:17.527 に答える
0

値31は、選択ボックスの7番目のオプションです。Javascriptが0からカウントを開始すると、6が表示されます。

したがって、選択した値ではなく、インデックスに警告するようです。これを試して、値を引用符で囲むことができます。 <option value='31'>Arms</option>

于 2012-04-16T20:20:09.480 に答える