2017-07-31 21 views
0

を閉じなぜ私は、ユーザーが別のダイアログボックスをクリックした場合opens.Hereは私の完全なコードである上にjQueryを使用してダイアログボックスを作成しています:jqueryのダイアログボックスがすぐ

$(document).ready(function() { 
    var a = document.getElementById("alphasvg"); 
    a.addEventListener("load", function() { 
    var svgDoc = a.contentDocument; 
    var dom1 = svgDoc.getElementById("BD-B"); 
    dom1.addEventListener("mousedown", function() { 
     var action = "select"; 
     var reg_name = $(this).attr("title"); 
     fetchSector(); 

     function fetchSector() { 
     $.ajax({ 
      url: "select_sector_map.php", 
      method: "POST", 
      data: { 
      action: action, 
      reg_name: reg_name 
      }, 
      success: function(data) { 
      $('#result_map').html(data); 
      } 
     }); 
     }; 
     $("#result_map").dialog({ 
     title: "Region: Chittagong", 
     width: 600, 
     height: 600, 
     model: true, 
     buttons: { 
      Close: function() { 
      $(this).dialog('close'); 
      } 
     } 
     }); 
    }); 
    $(document).on('click', '.selected_pla', function() { 
     var new_pla = $(this).attr("value"); 
     selBat(); 

     function selBat() { 
     var action = "select"; 
     $.ajax({ 
      url: "select_battelion_map.php", 
      method: "POST", 
      data: { 
      action: action, 
      new_pla: new_pla 
      }, 
      success: function(data) { 
      $('#result_map2').html(data); 
      } 
     }); 
     }; 
     $("#result_map2").dialog({ 
     title: "Suggestions", 
     height: 600, 
     width: 600, 
     model: true, 
     buttons: { 
      Close: function() { 
      $(this).dialog('close'); 
      } 
     } 
     }); 
    }); 
    }, false); 
}, false); 

を私はのボタンをクリックしたときに私の問題があります最初のダイアログボックスは2番目のダイアログボックスが表示され、すぐに終了します。問題の原因となる可能性のある.svgを使用しているため、ここで完全なコードを貼り付けています。

+0

私はあなたの問題は、** $( '#のresult_map2')であると仮定したHTML(データ); **テストし、それ – gaetanoM

+0

はデータを意味します。生成されていませんか?@gaetanoM – BibanCS

+0

私はコードの行が元の要素全体を上書きすると仮定します。 – gaetanoM

答えて

0

答えが見つかりました。 element.Likeのデフォルトのアクションを防ぐためには、preventDefault()を呼び出す必要があります:

$(document).ready(function() { 
    var a = document.getElementById("alphasvg"); 
    a.addEventListener("load", function() { 
    var svgDoc = a.contentDocument; 
    var dom1 = svgDoc.getElementById("BD-B"); 
    dom1.addEventListener("mousedown", function() { 
     var action = "select"; 
     var reg_name = $(this).attr("title"); 
     fetchSector(); 

     function fetchSector() { 
     $.ajax({ 
      url: "select_sector_map.php", 
      method: "POST", 
      data: { 
      action: action, 
      reg_name: reg_name 
      }, 
      success: function(data) { 
      $('#result_map').html(data); 
      } 
     }); 
     }; 
     $("#result_map").dialog({ 
     title: "Region: Chittagong", 
     width: 600, 
     height: 600, 
     model: true, 
     buttons: { 
      Close: function() { 
      $(this).dialog('close'); 
      } 
     } 
     }); 
    }); 
    $(document).on('click', '.selected_pla', function(e) { 
     var new_pla = $(this).attr("value"); 
     selBat(); 

     function selBat() { 
     var action = "select"; 
     $.ajax({ 
      url: "select_battelion_map.php", 
      method: "POST", 
      data: { 
      action: action, 
      new_pla: new_pla 
      }, 
      success: function(data) { 
      $('#result_map2').html(data); 
      } 
     }); 
     }; 
     $("#result_map2").dialog({ 
     title: "Suggestions", 
     height: 600, 
     width: 600, 
     model: true, 
     buttons: { 
      Close: function() { 
      $(this).dialog('close'); 
      } 
     } 
     }); 
    e.preventDefault(); 
    }); 
    }, false); 
}, false); 
関連する問題