JQuery erfasst keinen Dropdown-Wert
P粉476046165
P粉476046165 2023-09-11 14:22:42
0
1
649

Ich erstelle eine API-Schnittstelle, um die Paketabholung zu planen. Die API erfordert die Anzahl der Pakete usw. Mein Projektmanager sagte, er benötige die Anzahl der Pakete als Dropdown-Liste. Jetzt funktioniert der Versuch, die Paketmenge aus dem Formular abzurufen, nicht, obwohl es für meine anderen Dropdown-Menüs funktioniert.

Mein PHP-Code zum Generieren einer Dropdown-Liste:

<select name="package_count" id="package_count" class="form-control form-inps">
                                <?php for ($i=1; $i<26; $i++) {
                                    if ($i !== 1) {
                                        echo "<option value='${i}'>${i}</option>";
                                    } else {
                                        echo "<option selected='selected' value='${i}'>${i}</option>";
                                    }
                                } ?>
                            </select>

Code zum Erfassen von API-Aufrufen:

info.package_count = $("#package_count").val();

Als Referenz: Dies ist der Code, den ich zum Generieren des Kundenstatus-Dropdowns verwende:

<select id="state" name="state" class="form-control form-inps">
                            <?php $customerState = $customer_id->state;
                                foreach ($categories as $abbr=>$full) {
                                if ($abbr !== $customerState && strtolower($full) !== strtolower($customerState)) {
                                    echo "<option value='${abbr}'>${full}</option>";
                                } else {
                                    echo "<option value='${abbr}' selected='selected'>${full}</option>";
                                }
                            }?>
                        </select>

Und der Code zum Erfassen:

info.state = $("#state").val();

Obwohl die Struktur gleich aussieht, wird das Land erfasst, die Paketmenge jedoch nicht:

city: 
"REDACTED"
company: 
""
date: 
"2023-03-17"
earliest: 
"13:00"
latest: 
"17:00"
name: 
"REDACTED"
package_count: 
""
shipping_direction: 
undefined
shipping_provider: 
undefined
state: 
"REDACTED"
street: 
"REDACTED"
street2: 
""
zip: 
"REDACTED"

Irgendwelche Ideen, warum der Status funktioniert, die Paketanzahl jedoch nicht?

P粉476046165
P粉476046165

Antworte allen(1)
P粉567281015

您尝试使用多个选项循环选择了错误的方法

|| echo "";

它也是最终值作为选定的默认最后值

试试这个

$("#package_count").change(function(){
 var val= $("#package_count option:selected").val();
  $('#result').html(val);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="package_count" id="package_count" class="form-control form-inps">
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>

  </select>
  
  <p id="result" style="color:red;font-size:14px"></p>
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage