Reputation: 801
I'm facing an issue in edit button click for moving label data to input text data!
When i click on edit button label data is replaced with input text box im using jquery hide/show! its working fine for first row im able to update in mysql db!!. when i click on edit button for 2nd and 3rd row input texbox is popping up in 1st row and when i click on cancel button for 2nd and 3rd row its replacing it with mysql table ID.
Any Help Is appricated Thanks!
Bootstrap/PHP Code
I'm fetching Data from mysql DB
if(isset($_POST['display']))
{
$sql = "select * from demo";
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
?>
<div class='container'>
<div class='row'>
<div class='col-md-4'>
<label style="display:block-inline;" class="feed_label" id="feed_label" idl='<?php echo $row->id;?>'>
<?php echo $row->url; ?>
</label>
<input name="url1" class="form-control url1" value="<?php echo $row->id;?>" id="url1" type="text" style="display:none;">
</div>
<div class='col-md-2'>
<a ide='<?php echo $row->id;?>' id="edit" class='edit' href="#" style="display:block-inline;">EDIT</a>
<a idc='<?php echo $row->id;?>' id="cancel" class='cancel btn btn-warning btn-sm' href='#' style='display:none;'>CANCEL</a>
</div>
</div>
</div>
<?php
}
exit();
}
JQuery Code For Replacing Label to Input text and vice Versa
$('body').delegate('#edit','click',function(){
$('#feed_label').hide();
$('#url1').show();
});
$('#cancel').click(function(){
$('#feed_label').show();
$('#url1').hide();
});
Upvotes: 1
Views: 98
Reputation: 140
you have multiple elements with the same is(id="edit", id="cancle" and id="feed_label"). Be aware of that id has to be unique through your html-document. try this instead:
Js:
$('.edit').on('click', function(e){
var btn = jQuery(e.delegateTarget);
var id = btn.attr('rid');
$('#feed_label'+id).hide();
$('#url'+id).show();
});
$('.cancel').on('click', function(e){
var btn = jQuery(e.delegateTarget);
var id = btn.attr('rid');
$('#feed_label'+id).show();
$('#url'+id).hide();
});
PHP:
<?php
if(isset($_POST['display'])) {
$sql = "select * from demo";
$result = mysql_query($sql);
while($row = mysql_fetch_object($result)) {
echo '<div class="container">'.
'<div class="row">'.
'<div class="col-md-4">'.
'<label style="display:block-inline;" class="feed_label" id="feed_label'.$row->id.'">'.
$row->url.
'</label>'.
'<input name="url1" class="form-control url1" value="'.$row->id.'" id="url'.$row->id.'" type="text" style="display:none;">'.
'</div>'.
'<div class="col-md-2">'.
'<a rid="'.$row->id.'" class="edit" href="#" style="display:block-inline;">EDIT</a>'.
'<a rid="'.$row->id.'" class="cancel btn btn-warning btn-sm" href="#" style="display:none;">CANCEL</a>'.
'</div>'.
'</div>'.
'</div>';
}
exit();
}
?>
Upvotes: 0