ui 대화 상자를 통해 jquery UI 탭의 값을 업데이트하려고합니다.ui 대화 상자에서 값을 업데이트 할 때 jquery UI 탭에서 업데이트 된 데이터를 표시하는 방법은 무엇입니까?
예상되는 공정과 같은 : 탭 디스플레이에서
- , 사용자가 편집 링크를 클릭합니다.
- 사용자가 값을 입력 할 수있는 양식의 사용자 인터페이스 대화 상자를 표시합니다.
- 사용자 입력 값 및 변경 사항 저장.
- 저장 후 사용자는 업데이트 된 값으로 탭으로 돌아갑니다.
필자는 4 번 문제와 관련하여 지금까지 코드를 제시합니다.
HTML :
<div id="acc">
<input type="text" id="edit_acc" value="">
</div>
<div id="tabs">
<ul>
<li><a href="#one" title="one">Tab One</a></li>
<li><a href="#account" title="account">Tab Account</a></li>
<li><a href="#three" title="three">Tab Three</a></li>
</ul>
</div>
<div id="one">
<p>Tab One Listing</p>
</div>
<div id="account">
<p>Tab Account Listing</p>
<table width="100%">
<?php
while ($rows = mysql_fetch_array($query))
{
echo '<tr>';
echo '<td id="editacc_'.$rows['id'].'">'.$rows['name'].'</td>';
echo '<td><a id="acc_'.$rows['id'].'" class="link_acc" href="#">Edit</a></td>';
echo '</tr>';
}
?>
</table>
</div>
<div id="three">
<p>Tab Three Listing</p>
</div>
자바 스크립트 :
$('#tabs').tabs({
ajaxOptions: {
error: function(xhr, index, status, anchor)
{
// if page does not exist, this will load
$(anchor.hash).text('Could not load page');
}
}
});
$('.link_acc').click(function() {
acc = $(this).attr('id');
acc = acc.replace('acc_', '');
$.post('get.php', { item: acc}).success(function(data) {
$('#edit_acc').val(data);
});
// prompt dialog box with the value of the stated id
$('#acc').dialog({
title: 'Edit Account',
modal: true,
buttons: {
"Save": function() {
var data = $('#edit_acc').val();
$.post('set.php', { item: acc, val: data}).success(function() {
$('#tabs').tabs('load', 2);
$('#acc').dialog("close");
});
},
Cancel: function() {
$(this).dialog("close");
}
}
});
});
get.php - 데이터베이스에서
if (isset($item))
{
// check for the cat id
$query = mysql_query('SELECT name FROM acc WHERE id = '.$item);
$rows = mysql_num_rows($query);
if ($num_rows == 1)
{
while ($result = mysql_fetch_array($query))
{
echo $result['name'];
}
}
}
set.php을 값을 검색 - 데이터베이스를 업데이트
if (isset($item))
{
mysql_query('UPDATE acc SET name ="'.$val.'" WHERE id = '.$item);
}
나는이 개 질문이 :
- 어떻게 표시를 새로 얻을 및 목록 탭 계정에서 업데이트 된 값을 표시?
- id attr을 사용하고 대신 사용하는 대신 id를 참조하는 것이 더 낫고/깔끔한 방법입니까?
감사합니다.
잡아 주셔서 감사합니다. 오타가 잘못되었습니다. –
나는 내 대답에 [예제] (http://jsfiddle.net/QfQjH/1/)를 추가했다. – scessor
대단히 감사합니다! –