0

我遇到了一个表格问题,其中每个单元格都包含一个 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());
});
4

2 回答 2

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);
?>
于 2013-01-17T18:30:06.040 回答
0

发现我的问题。之前的 JS 请求让我回溯我的代码,发现我正在将我的值设置为 toUpperCase() 以便提交以保持一致性,但这破坏了我在下拉列表中的值匹配。我还在选择选项和 TA-DA 中将我的值设置为大写!

谢谢你们的帮助,伙计们。有时需要一双新的眼睛才能指出显而易见的事情。

于 2013-01-18T17:13:36.960 回答