到目前为止,我有以下内容:
<!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”,我应该检查是否有一个具有该名称的密钥,如果是,我需要获取它的数组值。因此,在“House”示例中,它应该返回“imagedef.jpg”。
有人可以帮忙吗?谢谢!
答案 0 :(得分:1)
$('.product').change( function() {
var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey]);
});
答案 1 :(得分:1)
我设法让它在 this 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'; }
答案 2 :(得分:0)
尝试使用onchange回调函数体
var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey] || 'Not found');
我希望这会有所帮助。