为什么我不能选择动态(PHP)生成的选项?

时间:2013-01-17 18:23:27

标签: php mysql forms html-table

我遇到一个表格问题,其中每个单元格都包含一个id'd输入或选择字段。单元格内容是从MySQL查询动态生成的。除了动态生成的SELECT下拉菜单外,一切正常。我在switch语句中使用以下代码:

case 'crew_1':
case 'crew_2': 
    echo '<td><select class="'.classExt($types[$key]).' '. $key .'_c" id="' . $key . '--' . $idx .'">';
    echo '<option value="" selected="selected"></option>';
    while ($rowtech = mysqli_fetch_assoc($rtech)){
        echo '<option value="' . $rowtech['name'] . '">' . $rowtech['name'] . '</option>';
    } mysqli_data_seek($rtech,0);
    echo '<option value="TEST">TEST</option>';      
    echo '</select></td>'; break;

这将创建以下HTML:

<td>
    <select class="varchar crew_1_c" id="crew_1--1">
        <option value="" selected="selected"></option>
        <option value="Name 1">Name 1</option>
        <option value="Name 2">Name 2</option>
        <option value="TEST">TEST</option>
    </select>
</td>

从这里我可以选择空白或'TEST'选项,它在console.log中返回正确的值,但如果我选择其中一个动态生成的名称,该框将返回默认的空白值。我在Chrome和IE上得到了相同的回复。

我的断开连接在哪里?

请求脚本生成输出到控制台的人员包括:

$('tbody select, tbody input').change(function(){
    console.log($(this).val());
});

2 个答案:

答案 0 :(得分:0)

OP,您错过了name属性。 这对我来说很好:

<form method="post" action="">
    <select class="varchar crew_1_c" id="crew_1:1" name="choice">
        <option value="" selected="selected"></option>
        <option value="Name 1">Name 1</option>
        <option value="Name 2">Name 2</option>
        <option value="TEST">TEST</option>
    </select>
    <input type="submit" value="Submit" name="submit" />
</form>

<?php
var_dump($_REQUEST);
?>

答案 1 :(得分:0)

找到我的问题。之前的JS请求让我通过我的代码挖掘,发现我正在设置我的值toUpperCase()以提交一致性,但这在下拉列表中打破了我的值匹配。我在选择选项和TA-DA中将我的值设置为大写!

谢谢你的帮助,伙计们。有时需要一双新鲜的眼睛来指出明显的。