2

オプションのかなり複雑なルックアップがあります。それは別のシステムから来ており、1つだけを送信して高価な追加のルックアップを行うのではなく、2つのデータを追跡する必要があります. 理想的には、ある AJAX 呼び出しから受け取ったすべてのデータを別の呼び出しに渡したいと考えています。

標準的なもの:

<select name="chosen_option" id="chosen_option">
  <option value="apple">Option One</option>
</select>

JavaScript でアクセスするのはかなり簡単です。

$("#chosen_option).val()

検索に応じて、追加のデータをオプションに入れる方法がたくさんあることを知っています。

<option value="PartA:'apple',PartB:'450'">Option One</option>
<option data-partb="450" value="apple">Option One</option>

最初の方法では、PartA または Partb を単独で参照する方法がわかりません。オプションの値全体のみです。

2 番目の方法では、セレクターは選択されたオプションからその特定の属性を取得できません。未定義と書いてあります。

個々のオプションに ID を追加しても、取得できません。

<option id="optionid_apple" data-partb="450" value="apple">Option One</option>

$("#optionid_apple").attr('data-partb)  // Not working
$("#optionid_apple").data('partb') // Not working
$("#optionid_apple").data('data-partb') // Not working

1 つのオプションに複数のデータを保存し、Javascript でアクセスするにはどうすればよいですか?

PS - 値自体を XML ドキュメントにすることを考えましたが、HTML などでそれを正しく行う方法がよくわかりません。

4

1 に答える 1

1

これを使用して、選択したオプションが確実に取得されるようにします。

$("#chosen_option option:selected").data('partb')

そうしないと、<select>タグから属性を取得しようとしています。

于 2012-06-22T01:49:56.310 に答える