到目前为止,我有以下几点:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<title>
Select Value From Array
</title>
</head>
<body>
<script type="text/javascript">
var KeysArray = {
"Lake":"imageabc.jpg",
"House":"imagedef.jpg",
"PC":"imageghi.jpg",
"Sky":"imagejkl.jpg"
}
$(function(){
$('.product').change( function() {
var xkey = $.trim( $(".product option:selected").text() );
// alert(xkey);
});
});
</script>
<div>
<select class="product" title="">
<option value="">
-- Select --
</option>
<option value="123">
Lake
</option>
<option value="456">
House
</option>
<option value="789">
PC
</option>
<option value="101">
Sky
</option>
</select>
</div>
</body>
</html>一旦我们从下拉列表中选择了一个值,我需要将它的选项文本值与现有的对应数组值进行比较。
因此,如果用户选择了"House“,我应该检查是否存在具有该名称的键,如果有,则需要获取它的数组值。因此,在“房子”示例中,它应该返回"imagedef.jpg“。
有人能帮帮忙吗?谢谢!
发布于 2013-01-16 01:29:21
我设法让它在 jsfiddle上为你工作。
您需要做的是在下面这一行的KeysArray对象中获得正确的键:
var xkey = KeysArray[ $.trim( $(".product option:selected").text() ) ];或者,您可以通过两个步骤完成此操作,以提高可读性。
var xkey = $.trim( $(".product option:selected").text() );
xkey = KeysArray[xkey];在继续操作之前,可能需要检查一下键是否实际存在。我建议在拿到xkey后再检查一下。
if (typeof xkey !== 'string') { xkey = 'Not found'; }发布于 2013-01-16 01:28:48
$('.product').change( function() {
var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey]);
});发布于 2013-01-16 01:28:35
尝试将此函数作为onchange回调函数体
var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey] || 'Not found');我希望这能帮到你。
https://stackoverflow.com/questions/14343278
复制相似问题