繁体   English   中英

如何重命名 <li> 里面 <ul> 使用jQuery吗?

[英]How do I rename an <li> inside a <ul> using jQuery?

我需要你的帮助。

我在网上找不到太多参考资料(如果有的话),所以我转向这个地方的专家和专家的帮助。

我如何制作一个列表框,以便当突出显示一个项目时,单击顶部的“重命名”按钮,一个带有li当前值的输入框将与所选LI值放在同一位置,用户将可以选择重命名li项目。 如果lisbox失去焦点,则保存更改。 类似的例子是Windows,当您单击“重命名”时,列表项将成为用户重命名文件的输入框。 我想模拟相同的功能并将其应用于UL LI列表框。

为了使事情简单明了,我对jQuery友好。

这是一个小提琴: http : //jsfiddle.net/a4kg2612/

HTML:

<!DOCTYPE html>

<html>

<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script type="text/javascript">

$(function(){

    $('li').click(function(){

        $('li.active').removeClass('active');

        $(this).addClass('active');
    });



    });
</script>

<style type="text/css">
.active {
    background-color: rgb(128,128,128);
}
#colors {
    border: 1px solid #000;
    width: 100px;
    list-style: none;
    margin: 0;
    padding: 2px;
}

</style>

</head>

<body>

<input type="button" value="raname" onclick="renameLi()">
<ul id="colors">
    <li>red</li>
    <li>green</li>
    <li>blue</li>
    <li>yellow</li>
    <li>orange</li>
    <li>purple</li>
</ul>


</body>

</html>

我的解决方案暂时将li用作输入,完成后将其替换回li

http://jsfiddle.net/a4kg2612/1/

$('li').click(function(){

    $('li.active').removeClass('active');

    $(this).addClass('active');
    $(this).replaceWith('<input type="text" id="change_me">');
    var val = $('#change_me').val();
    if ( val ) {
        $('#change_me').replaceWith('<li>' + val + '</li>');
    }
});

这包含了重命名按钮:

http://jsfiddle.net/a4kg2612/5/

这就是您想要的:

http://jsfiddle.net/a4kg2612/6/

    $('li').click(function(){

    $('li.active').removeClass('active');

    $(this).addClass('active');
    var li = $(this);
    $("#rename").click(function() {
        $(li).replaceWith('<input type="text" id="change_me">');
        $("#change_me").focus();
        setInterval(function(){
            var val = $("#change_me").val();
            if ( ! $("#change_me").is(":focus") ) {
                $('#change_me').replaceWith('<li>' + val + '</li>');
            }
        }, 100);
    });
});

我会做这样的事情

var chosenValue;
var chosenIndex;
var newValue;

$('li').click(function(){

    $(this).addClass('active').siblings("li").removeClass('active');
    chosenValue = $(this).text();
    chosenIndex = $(this).index()+1;
    $(".rename").show().val(chosenValue);

});

$("input[type=button]").click(function(){
    newValue = $(".rename").val();
    $("li:nth-of-type("+chosenIndex+")").text(newValue);
});

小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM