0

http://jsbin.com/uluwum/3/edit

米国の州の選択リストがあり、デフォルトで2文字の短縮バージョンのみを表示し、別の州を選択した後に表示します。そのため、選択リストがデフォルトの状態のときに選択されたテキストの代わりに選択された値を表示する必要がありますが、クリックするとオプションのテキストが表示されますが、その方法がわかりません。難しいことではないと思いましたが、試した検索がベースから大きく外れていて、関連する結果が返されなかったか、これは珍しいリクエストです。

上記のJSBinの例では、非常に不完全な試みをすべてコメントアウトしています。

前もって感謝します!

ポール

4

2 に答える 2

1
$(function(){
        $('#states option').each(function(){
            $(this).attr('data-text', $(this).text());
            if($(this).is(':selected') == false)
            {
               $(this).text($(this).val());
            }        
        });

        $('select').on('change', function(){
            reset();
            var selected = $('option:selected');
            selected.text(selected.attr('data-text'));
        });

        function reset()
        {
          $('#states option').each(function(){
            $(this).text($(this).val());
          });  
        }
    });

http://jsfiddle.net/UMs98/2/

これはあなたが望むことをするはずです。

于 2012-10-22T20:36:10.753 に答える
0

これは私が得ることができるのとほぼ同じくらいでした:jsFiddleの例

$('select option').each(function() {
    $(this).data('abbr', $(this).val());
    $(this).data('full', $(this).text());
    $(this).text($(this).val());
});
$('select').change(function() {
    $('option:selected', this).text($('option:selected', this).data('full'));
    $('option:not(":selected")', this).each(function(){
        $(this).text($(this).data('abbr'));
    });
});​
于 2012-10-22T20:42:57.353 に答える