亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法在 PHP 數組中存儲從 HTML <select> 中選擇的 <option>?

有沒有辦法在 PHP 數組中存儲從 HTML <select> 中選擇的 <option>?

PHP
MM們 2023-04-21 17:20:58
<option>我的想法是將從不同 html 中選擇的內容存儲在 PHP 數組中<select>。在我使用從 Jquery 函數調用的 php 函數生成的表單中,<ul>包含每個列表元素文本和<select>像這樣:添加列表元素的部分表單:<div>    <label for="lineasP" id="asignarBdto" hidden>Productos de este pedido:</label></div><div>    <ul id="lineaPedidos" hidden>        <!-- Added here -->    </ul></div>調用 PHP 函數的 JQuery 函數:$("#pedidos").on("input", function() {    $.get("cambio_cliente.php", { idPedido: $("#pedidos").val()}, function (data) {        $("#lineaPedidos").empty();        $("#lineaPedidos").append(data);        $("#asignarBdto").show();        $("#lineaPedidos").show();    });});PHP函數:// Si llegamos a este script por haber seleccionado un pedidoif(isset($_GET["idPedido"])){    // Abrimos una conexión con la BD y consultamos la lista de productos dado un pedido    $conexion = crearConexionBD();    $resultado = listarProductos($conexion, $_GET["idPedido"]);    if($resultado != NULL){        // Para cada producto del listado devuelto        foreach($resultado as $lineaPedido) {            //Listamos los productos de cada pedido            echo "<li>" . $lineaPedido["NUM_LINEA_P"] .": cantidad= ". $lineaPedido["CANTIDAD"] .", importe= ". $lineaPedido["IMPORTE"] ." <br><label>Base de dto: </label><select class=\"linPed\" required><option value=\"\" hidden disabled selected>% DTO</option> <option value=\"21\">21%</option> <option value=\"16\">16%</option> <option value=\"8\">8%</option></select></li>";        }    }    // Cerramos la conexión y borramos de la sesión la variable "idPedido"    cerrarConexionBD($conexion);    unset($_GET["idPedido"]);}到目前為止,一切都很好。表單顯示這些字段沒有問題:問題從這里開始我需要將每個選擇的內容存儲<option>到我一開始提到的數組中。我不知道<select>將創建多少個,所以我無法為每個創建 ID。我決定為此選擇創建一個類 (linPed),并嘗試了這個 JS 函數:$(".linPed").on("input", function(){   alert("all good");});我首先嘗試做一些“日志記錄”以查看函數是否正確執行,但沒有顯示警報。 盡管如此,即使函數正確執行,我如何在數組中添加所選.linPed值?或者也許有更簡單的方法來做到這一點?
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

我個人會使用changeinstead 而不是input在.on()函數中檢測變化,例如:


$('.linPed').on('change', function() {

  alert( this.value );

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select class='linPed'>

    <option value="1"><li>One</li></option>

    <option value="2">Two</option>

</select>

為了獲得所有價值,我會使用.each()如下函數:


var arr = [];

$('.linPed').each(function(){

  arr.push($(this).val())

})

如果我是正確的,這會為您提供數組中的所有選定值arr。


編輯:


我處決了echo自己并看著它。問題就出在這里。你的課linPed不是\"linPed"\。

http://img1.sycdn.imooc.com//644255bd0001540e04300100.jpg

在您的代碼中,\什么都沒有。

編輯 2:

查看您的代碼段并立即看到它。你在加載js之前就跑了。html將您JavaScript放在代碼的末尾?;蛘咴谀愕拇a周圍放置一個現成的函數,比如

$(function () {
  //Code ..
  });


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 124 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號