2013-02-14 51 views
0

此顯示/隱藏功能與選擇元素一起工作正常,但當我將它們更改爲MultiSelect元素(多個=「多個」)和/或添加方括號時它停止工作到元素名稱(將MultiSelect表單元素提交給數據庫所必需)。我如何改變它,以便它可以與MultiSelect元素一起使用?此顯示/隱藏功能不適用於MultiSelect元素

工作示例可在這裏:http://jsfiddle.net/chayacooper/yaq5F/8/

JS

$(document).ready(function() { 
    $("#row1, #row2").hide(); 
    if ($("[name=item1]").val() === "Null" || $("[name=item1]").val() === "") { 
     $("#row1").show(); 
    } else { 
     $("#row2").show() 
    }; 
}); 

HTML

<div id=row1 style="font-weight:bold">Row 1 - Nothing selected</div> 
<div id=row2 style="font-weight:bold; display:none;">Row 2 - Something selected</div> 

<select name=item1 class="field"> 
<option value="Null">Select</option> 
<option value=1>Option 1</option> 
<option value=2>Option 2</option> 
<option value=3>Option 3</option> 
</select> 

回答

2

當使用multiple選項,返回值是一個數組,不一個字符串,因爲您可以通過holdin選擇多個值按下控制鍵。

您可能需要的東西來檢查值一樣$.inArray("Null", $(".field").val())


以供將來參考,它確實有助於去看看有什麼價值回來就是。簡單的console.log($(".field").val())就是我所做的一切,看看發生了什麼。

+0

我很難找出插入代碼的位置。你介意告訴我如何將它添加到我的示例代碼? – 2013-02-14 21:55:36

+0

當然 - > http://jsfiddle.net/ChrisMBarr/yaq5F/11/ - 請記住,當添加'multiple'屬性時,將「Select」作爲第一項確實沒有意義。你可能想要做一些不同的事情。 – 2013-02-14 22:41:18

+0

謝謝:-D我使用了幾個多選元素,這些元素是根據從db中獲取的值預選的。有沒有辦法做到這一點使用元素的名稱,或者我需要使用ID /類? – 2013-02-14 23:39:10