2017-09-23 10 views
0

私は3つのモーダルでテーブルを作成しようとしましたが、同じ行に2つのボタンがあり、削除と各モーダルを開く詳細があり、行全体が編集モーダルを開く別のボタンです。テーブルの行に複数のモーダル

問題は次のとおりです。削除または表示ボタンをクリックすると2モーダルを開き、モーダルを編集してモーダルを削除します。

例:私は、行上の[OK]をクリックしますが、私はボタンの編集をクリックするか、削除すると、このオープン2モーダル、モーダル削除OUの詳細にわたる常に編集モーダル滞在

<!--Table--> 
<tr data-toggle="modal" data-target="#modalEdit" > 
    <td data-toggle="modal" data-target="#modalDelete">Delete Button</td> 
    <td data-toggle="modal" data-target="#modalDetails">Details Button</td> 
    <td>Id</td> 
    <td>Name</td> 
    <td>Description</td> 
    <td>Price</td> 
</tr> 

<!--Modal Edit--> 
<div class="modal" id="modalEdit"> 
    Edit informations 
</div> 

<!--Modal Details-->  
<div class="modal" id="modalDetails"> 
    Details informations 
</div> 

<!--Modal Delete-->  
<div class="modal" id="modalDelete"> 
    Delete informations 
</div> 

誰かがこの問題を私に助けてくれますか?テーブル構造に続き

答えて

2

問題は、あなたのdeletedetailsボタンがtrの内側にあることから、トップまでのボタンの意志のバブルをクリックし、またrowクリックイベントを発射。これを修正するには、ボタンクリックでevent propagationが発生しないようにする必要があります。これを達成するには、data attributesを削除する必要があります。

HTML

<td data-toggle="modal" id="deleteBtn">Delete Button</td> 

はJavaScript同じ

$("#deleteBtn").on("click", function(event){ 
    event.stopPropagation(); 
    $("#modalDelete").modal("show"); 
}); 

は、同様に詳細ボタンに適用されるべきです。 ここでイベントの伝播について詳しく読むことができます。
https://www.w3schools.com/jquery/event_stoppropagation.asp

+1

により示唆されるように、ボタンのクリックを削除する必要がありますが、おかげでたくさん、私がしようとします! –

+0

その仕事、ありがとう! –

0

あなたの問題を解決します

<tr> 
<td data-toggle="modal" data-target="#modalDelete">Delete Button</td> 
<td data-toggle="modal" data-target="#modalDetails">Details Button</td> 
<td data-toggle="modal" data-target="#modalEdit">Edit Button</td> 
<td>Id</td> 
<td>Name</td> 
<td>Description</td> 
<td>Price</td> 
</tr> 
+0

私は変更せずに構造 –

+0

を行うにtryng、あなたが詳細にイベントの伝播を防止していること@thusitha – ShilpeshAgre

関連する問題