0

これまでのところ、次のものがあります。

<!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」が返されます。

誰でも助けてもらえますか?ありがとうございました!

4

3 に答える 3

1

このjsfiddleでうまく機能させることができました。

あなたがする必要があるのは、この行の KeysArray オブジェクトで正しいキーを取得することです:

var xkey = KeysArray[ $.trim( $(".product option:selected").text() ) ];

または、読みやすさを向上させるために、2 つのステップでこれを行うこともできます。

var xkey = $.trim( $(".product option:selected").text() );
xkey = KeysArray[xkey];

続行する前に、キーが実際に存在するかどうかを確認することをお勧めします。xkey を取得した後に確認することをお勧めします。

if (typeof xkey !== 'string') { xkey = 'Not found'; }
于 2013-01-15T17:29:20.830 に答える
1
$('.product').change( function() {
  var xkey = $.trim( $(".product option:selected").text() );
  alert(KeysArray[xkey]);
});
于 2013-01-15T17:28:47.657 に答える
0

これをonchangeコールバック関数本体として試してください

var xkey = $.trim( $(".product option:selected").text() );
alert(KeysArray[xkey] || 'Not found');

これが役立つことを願っています。

于 2013-01-15T17:28:34.700 に答える