php - 编辑输入框 Jquery/PHP 中的问题

标签 php jquery html mysql

我在点击编辑按钮将标签数据移动到输入文本数据时遇到问题!

当我点击编辑按钮时,标签数据被替换为使用 jquery 隐藏/显示的输入文本框!它在第一行工作正常,我能够在 mysql 数据库中更新!! 当我单击第 2 行和第 3 行的编辑按钮时,输入 texbox 会在第 1 行弹出,当我单击第 2 行和第 3 行的取消按钮时,它会用 mysql 表 ID 替换它。

任何帮助都适用谢谢!

Bootstrap /PHP 代码

我正在从 mysql 数据库中获取数据

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 代码

$('body').delegate('#edit','click',function(){
    $('#feed_label').hide();
    $('#url1').show();
});
$('#cancel').click(function(){
    $('#feed_label').show();
    $('#url1').hide();
});

最佳答案

您有多个具有相同 is(id="edit", id="cancle"and id="feed_label") 的元素。请注意,该 id 在您的 html 文档中必须是唯一的。 试试这个:

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();
}
?>

关于php - 编辑输入框 Jquery/PHP 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32480235/

相关文章:

php - 从 PHP 中的图像 url 中删除分辨率字符串

php - Laravel 将右连接转换为左连接

javascript - 使用 jquery 计算表行产生了错误的答案

javascript - 使用 jQuery 将 div 定位到屏幕外的右侧

javascript - 我们如何使用 ng-show 和 ng-hide 在一个简单条件下管理多个条件

php - 仅从组中的第一条记录中选择值

php - 过滤对象数组以保留在平面白名单数组中找到的具有特定属性值的对象

javascript - 我想根据调用的函数来更改图像的鼠标悬停和鼠标悬停效果

php - jQuery 和 AJAX 加载

javascript - 将给定类名的最近选择框值复制到相同类名的后续选择框(使用 JQuery)