私はハイパーリンクを持っている、それがクリックされます一度それが下のスクリプトを実行します特徴「アイテムを追加」:ここだ要素をスクリプトで追加した後にjqueryクラスを追加するには?
<script type="text/javascript">
var selectedId = $("#combobox").val().toString();
var itemId = $("#itemId").val().toString();
var qty = $("#itemQty").val().toString();
//var item =
function addItem() {
$.ajax({
url: "PO_Items.php",
data: "supplier="+$("#combobox").val().toString()+"&Item="+$("#itemId").val().toString()+"&Qty="+$("#itemQty").val().toString(),
cache: false,
success: function(html){
$("#items").empty();
$("#items").append(html);
$("#itemName").val("");
$("#itemId").val("");
$("#itemQty").val("");
}
});
}
が実行されますPHPのコードです:?
<?php
include 'config.php';
session_start();
$SessionId = session_id();
$Id = $_GET["PurchaseItemID"];
$delete = "Delete from tbl_purchaseitem Where PurchaseItemID = '$Id'";
$result1 = mysql_query($delete);
$GetItems = "Select * From tbl_purchaseitem Where SessionID = '$SessionId'";
$result2 = mysql_query($GetItems);
echo "<table>";
echo "<th>SessionID</th>";
echo "<th>ItemsId</th>";
echo "<th>Qty</th>";
while($row = mysql_fetch_array($result2))
{
$PurchaseItemId = $row['PurchaseItemID'];
$SessionId = $row['SessionID'];
$ItemsId = $row['ItemsId'];
$Qty = $row['Qty'];
echo "<tr> <td>" .$SessionId ."</td>" ."<td>" .$ItemsId ."</td>" ."<td>" .$Qty ."</td>"
."<td>" ."<a href='#edititem' class='inline2' id='$PurchaseItemId' >Edit item</a>"
."<td>" ." <a href='' id='$PurchaseItemId'>Delete item</a>"
."</tr>";
//<a href="#additem" class="inline" style="display:none" >Add item</a>
}
echo "</table>";
>
ここに私が今持っているもう一つのコードでは、動的に追加された「アイテムの編集」リンクがファンシーボックスを開きます:
<script type="text/javascript">
$(".inline2").live("click", function() {
$(this).fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
</script>
ファンシーボックスは2回目のクリックでのみ開くので、1回目のクリックでは#edititemがURLに追加されますが、何も起こりません。私の仮定/推測では、 .live( "click"、function()のため、live()を使用する代わりにon()を使用してください。
あなたの回答は大きな助けとなり、非常に感謝しています。これはあなただけ行わない理由edititemのためだけであれば、あなたが
#edititemは表示するdiv要素です。ハイパーリンク() 'アイテムの編集'は、#edititemを表示するトリガーになります。 #edititemは、ファンシーボックスによって表示される非表示のインライン要素です。 –
ハイパーリンク 'Edit item'はページ内に動的に挿入されていますが、div要素#edititemは、fancyboxのインライン要素であるためdisplay:noneで非表示になり、クリック後にのみ表示されます[アイテムの編集]リンク –