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

时间:2015-09-09 12:59:39

标签: php jquery html mysql

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

当我点击编辑按钮时,标签数据被输入文本框替换为使用jquery hide / show!它的工作正常,第一行即可在mysql db !!中更新。 当我点击第二行和第三行的编辑按钮时输入texbox在第一行弹出,当我点击第二行和第三行的取消按钮时,用mysql表ID替换它。

任何帮助都是非常感谢!

Bootstrap / PHP代码

我从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代码和反之亦然

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

1 个答案:

答案 0 :(得分:0)

你有多个相同的元素(id =&#34; edit&#34;,id =&#34; cancle&#34; and id =&#34; feed_label&#34;)。请注意,您的html文档必须具有唯一ID。 试试这个:

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