得到了另一个奇怪的人:
这是我的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中对params进行警报时。事实是,sWield应该是31.想法?如果我使用不同的值运行,请说$ row ['pNum'] = 11并在js sWield = 25中选择值25,并且sNum应该是11。想法?
答案 0 :(得分:3)
您没有关闭第一个选项
echo "<option value=0>Use On</option>";
首先尝试关闭这个!
答案 1 :(得分:0)
值31是选择框中的第7个选项。 当Javascript从0开始计数时,它显示为6。
因此它似乎会提醒指数而不是所选择的价值。
您可以尝试尝试此操作,并在值周围加上引号:
<option value='31'>Arms</option>