2016-05-11 8 views
2

ajaxを使用してブートストラップモーダルのコンテンツを生成しています。データがそこに読み込まれるとき、私はそのモーダルの「選択」(数字の動的なもの)をループし、その名前と選択された値を警告したいが、常に最初に選択されたデフォルト値を警告する選択したものに警告します。 コンテンツ生成コードブートストラップ私のダイナミックは、いくつかのいずれかがモーダルで「alertselected」のIDを持つボタンをクリックして、そのコードはあなたがいずれかのことができ、使用ブートストラップモーダルでJqueryループが2回実行される

$(document).on('click','#alertselected',function(e){ 
    e.preventDefault(); 
    var serverBaseUrl = '<?php echo base_url();?>'; 
    $('select').each(function() {  
    var selectedOption = $(this).find('option:selected'); 
    alert('Value: ' + selectedOption.val() + ' Text: ' + selectedOption.text()); 
    }); //select dot each 

}); // Document dot on click quick view 
+0

イベントを添付する'$ '(' select ')に到達したときにページ上にあります。それぞれ(function()'はまったく別の領域であってもよいでしょう。 '$( 'select')'セレクタを '$( '。modal-body select')のようにもっと具体的にすると、ページ上のすべての選択を取得しない可能性があります – DelightedD0D

+0

@ DelightedD0D実際には、モーダルでは「選択」が正しく行われますが、問題はそれが2回警告されることです。例えば、私は3つの選択肢をデフォルトの選択されたテキストで "選択肢を選択"するモーダルで持っています。最初に「オプションを選択」すると3回警告され、それらのドロップダウンから選択した値がアラートされます。 –

+1

セレクトボックスを複製してオリジナルを隠している可能性のある選択プラグインを使用していますか? – DelightedD0D

答えて

1

とき

$(document).on('click','.quick_view',function(e){ 
e.preventDefault(); 
var serverBaseUrl = '<?php echo base_url();?>'; 
$(".modal-body").html(''); 
$("#qv").modal('show'); 

$.post(
    serverBaseUrl+'Ajax/productQuickView.php', 
    { 
    id:$(this).attr('data-id')  
    }, 
    function(html_response){ 
    $(".modal-body").html(html_response); 
    return false; 
    } 

);// post 
}); // Document dot on click quick view 

私のjQueryのループを二回実行されます以下の通りですoffまたはunbind最初off/unbindイベントに、そしてあなたが複数の選択ボックスの存在を持っている必要があります

$(document).off('click').on('click','#alertselected',function(e){ 
    ...//Rest of code 
}) 
+0

これを試したので、これは私の側ではうまくいきませんでした。問題は、別の「.modal-body」があり、ループを2回実行しました.1回はデフォルト値、もう一度は選択値です。 @ DelightedD0Dに感謝します –

関連する問題