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. Ideas?。如果我使用不同的值运行,例如 $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 回答