0

此 Show/Hide 函数可与 Select 元素一起正常工作,但当我将它们更改为 MultiSelect 元素(multiple="multiple")和/或在元素名称中添加方括号(将 MultiSelect 表单元素提交到 db 所必需的)时,它会停止工作)。如何更改它以使其与 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>
4

1 回答 1

2

使用该multiple选项时,返回值是一个数组,而不是字符串,因为您可以通过按住控制键来选择多个值。

您可能想用类似的东西检查值$.inArray("Null", $(".field").val())


为了将来参考,看看返回的值是什么确实很有帮助。一个简单console.log($(".field").val())的就是我所做的一切,看看发生了什么。

于 2013-02-14T21:48:10.677 回答