簡體   English   中英

如何在發布/獲取中獲取多選下拉列表值的所有選定值?

[英]How to get all the selected values of multiselect dropdown value in post/get?

我有一個帶有多選下拉列表的表單,提交時,這些值通過Seralize通過ajax 傳遞 ,但是只有一個多選下拉列表的值通過了,而我在該下拉列表上選擇了更多選項。

var formdata= $("#form").serialize();
$.ajax(
{               
    url:base_url+"index.php/model/employee",  
    data: "employeedata="+employeeformdata,
    success: function(msg)
    { 
    //success message
    },                     
});

我試圖通過mval=$('#multi').val();手動獲取值mval=$('#multi').val(); 並將其附加到url,因為我有一個動態表單,所以我不能指定multiselect下拉列表的ID,並且一個表單可以有多個multiselect下拉列表。是否有任何方法可以將值傳遞給serialize / serializeArray?

不能使用序列化,並且可能沒有為選擇選項提供值,但是可以嘗試一下:

http://jsfiddle.net/94q7kcub/

偽碼

jQuery的:

$('#clicker').click(function(){
var multiselect = $('#marketplaces').val();
alert(multiselect);
});

HTML:

<label for="marketplaces">Marketplaces:</label>
    <select class="select2" multiple id="marketplaces">
        <option value="DE">Germany</option>
        <option value="UK">United Kingdom</option>
        <option value="FR">France</option>
        <option value="ES">Spain</option>
        <option value="IT">Italy</option>
        <option value="US">United States</option>
</select>
<button id="clicker">click</button>

.serialize()方法返回的字符串如下所示:

selectNameA=valueA1&selectNameA=valueA2&selectNameB=valueB1

通過jQuery通過ajax提交表單時,通常使用以下命令:

data: $("#form").serialize(),

假設您正在服務器上使用PHP(因為該問題是為PHP標記的),您將希望select元素的“ name”屬性值以“ []”結尾。 (請參閱此問題 。)

<select name="xxx[]" ...

這樣, $_GET['xxx']將是一個包含所有選定值的數組。

注意:如果在ajax調用中指定type: 'post' ,則將在服務端上使用$_POST而不是$_GET

暫無
暫無

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

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