簡體   English   中英

為什么我不能動態選擇(PHP)生成的選項?

[英]Why Can't I Select Dynamically (PHP) Generated Options?

我在一個表格中有一個問題,其中每個單元格都包含一個id輸入或選擇字段。 單元格內容是通過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>

從中,我可以選擇空白或“測試”選項,它會在console.log中返回正確的值,但是如果我選擇動態生成的名稱之一,則該框將返回到默認的空白值。 我在Chrome和IE上得到了相同的響應。

我的斷線在哪里?

包括請求腳本生成以輸出到控制台的人員:

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

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);
?>

找到了我的問題。 之前的JS請求讓我回溯了我的代碼,發現我將我的值設置為UpperCase()以進行提交以保持一致性,但是這在下拉列表中破壞了我的值匹配。 我還在選擇選項和TA-DA中將值設置為大寫!

謝謝大家的幫助。 有時需要新鮮的眼睛指出明顯的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM