드롭 다운 선택기가있는 PHP 페이지가 있습니다. 셀렉터가 변경되어서 .mytable이라는 div에 드롭하면 jquery, ajax 및 mysql을 사용하여 테이블을 생성합니다. 테이블에있는 데이터 중 일부는 테이블의 데이터에 영향을 미치는 PHP 스크립트에 대한 링크이므로 재로드없이 테이블을 새로 고침하고 싶습니다.테이블 내부의 링크에 대한 선택자는 무엇입니까
나는 이벤트 리스너를 테이블의 링크에 첨부하여이 작업을 수행해야한다는 것을 알고 있지만 수신기를 연결할 오른쪽 선택기를 가져 오는 것 같습니까?
어떤 도움이 user.php라고
사용자가 보는 페이지를 이해할 수있을 것입니다 :
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<link href="css/table_style.css" rel="stylesheet" type="text/css">
</head>
<body>
<form name="form1" method="post" action="">
<label for="select_data"></label>
<select name="select_data" id="select_data">
<option value=1>"Apples"</option>
<option value=2>"Pears"</option>
<option value=3>"Bananas"</option>
</select>
</form>
<div id="mytable">This is where the table goes</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="get_table.js"></script>
</body>
</html>
JQuery와 이벤트 핸들러는 다음과 같습니다
$(document).ready(function(){
//listen for select list to change, pass fruit into create_table.php, pass data into mytable div
$('#select_data').change(function() {
$.post('create_table.php',{fruit: fruit}, function(data) {
$('div#mytable').html(data);});
});
$('.fruit_link').change(function() {
$.post('create_table.php',{fruit: fruit}, function(data) {
$('div#mytable').html(data);});
});
});
스크립트 이벤트가 그 테이블을 만들고 HTML 코드를 반환하는 핸들러 호출은 다음과 같습니다.
<?php
require_once('Connections/dbc.php');
$fruit=$_POST['fruit'];
$sql="SELECT * FROM q_fruit WHERE FruitID =".$fruit;
$rec1=mysqli_query($dbc,$sql);
echo '<table class="table" align="center">';
echo '<th class="th" width="80px">Fruit ID</th>';
echo '<th class="th" width="150px">Fruit Name</th>';
echo '<th class="th" width="40px">Fruit Action 1</th>';
echo '<th class="th" width="150px">Fruit Action 2</th>';
while ($row=mysqli_fetch_array($rec1))
{
echo '<tr class="tr">';
echo '<td class="td">'.$row['FruitID']. '</td>';
echo '<td class="td">'.$row['FruitName']. '</td>';
echo '<td class="td"><a class="fruit_link" href="fruitaction1.php">'.$row['FruitID']. '</a></td>';
echo '<td class="td"><a class="fruit_link" href="fruitaction2.php">'.$row['FruitID']. '</a></td>';
echo '</tr>';
}
echo '</table>';
mysqli_free_result($rec1);
mysqli_close($dbc);
?>
그래서 select 이벤트 핸들러는 값이 변경 될 때마다 표를 재현하기 위해 작동하지만 링크 핸들러는 그렇지 않습니다. 링크가 HTML에 반환되었으므로 링크에 있기 때문에 추정하고 있습니다. 자바가 듣고있는 사용자 파일. 이 둘 사이에 방법이 있을까요?
'$ ('. mytable table tr td a'). 클릭 (function() {})'시도해야합니다. 여기에 시도 된 코드를 – asprin
에 게시하십시오. –
이것은 AJAX를 사용하여 쉽게 확인할 수 없으며 다음을 확인하십시오. http://stackoverflow.com/questions/5681380/refresh-a-table-with-jquery-ajax-ever-5-seconds – user2504141