2017-04-14 73 views
-2

HTML代碼:jQuery的選擇陣列不工作

<select name="code[]"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
<select name="code[]"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
<select name="code[]"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 

jQuery代碼:它爲什麼發生在我所有的選擇框中選擇的值

var codes = $("input[name='code[]']").serializeArray(); 
alert(codes); 

警報是空的。但仍然,它是空的任何人都可以請幫助我。我該如何解決這個錯誤?

+6

你在哪裏定義變量'codes'? – David

+0

@David讓我們現在檢查。 –

回答

2

的選擇是試圖找到輸入。您應該改變它來選擇。

var codes = $("select[name='code[]']").serializeArray(); 

https://jsfiddle.net/3qdbkx36/

+0

警報看起來像[對象對象],[對象對象],[對象對象] –

+0

使用console.log像在小提琴 - 警報只是tostrings的一切(我認爲)console.log和其他控制檯方法比警報更可取。使用F12打開控制檯。 –

+1

現在感謝它的工作 –

2

您的jquery選擇器input[name='code[]是錯誤的,因爲您使用的是select標記,而不是input。試着改變你的jQuery代碼:

var codes = $("select[name='code[]']").serializeArray(); 
alert(codes); 

如果你想返回的對象映射到它們的值,你可以使用map

var codes = $("select[name='code[]']").serializeArray().map(function(obj) { 
    return obj.value; 
}); 
+0

警報看起來像[對象對象],[對象對象],[對象對象] –

+0

@RushabhShah我已經編輯了該anwser。也許這最適合你。 – Wikiti

0
$("select[name='code[]']").change(function() { 
    var codes = $("select[name='code[]']").serializeArray(); 
    codes.forEach(function(element) { 
    alert(element.value); 
}); 
}); 

$("select[name='code[]']").change(function() { 
 
    var codes = $("select[name='code[]']").serializeArray(); 
 
    codes.forEach(function(element) { 
 
    alert(element.value); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="code[]"> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select> 
 
<select name="code[]"> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select> 
 
<select name="code[]"> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
</select>