【问题标题】:I have a Special Idea about an Edit function我对编辑功能有一个特别的想法
【发布时间】:2015-02-17 12:54:12
【问题描述】:

下面的所有函数都在 $(document).ready(function()) 下!

首先我有一个输入,你可以淡入/淡出它的样子:

<form>
        <label for="vorname"> Vorname: </label> <input type="text" id="vorname"/></br>
        <label for="nachname"> Nachname: </label> <input type="text"  id="nachname"/></br>
        <label for="alter">Alter:</label> <input type="number" Id="alter"/></br>

        <label for="gender">Geschlecht:</label>
            <select id="geschlecht">
                <option id="Male">männlich</option>
                <option id="Female">weiblich</option>
            </select>
        <input type="button" value="Zurückklappen" id="back"> //fadeOut
        <input type="button" value="Absenden" class="send"/> //eventhandler
    </form>

然后我有一个点击处理程序来制作列表条目

$('.send').click(function onClick(){ 

    var age = $('#alter').val();
    var preName = $('#vorname').val();
    var secName = $('#nachname').val();         
    var gender = $('#geschlecht').val();

    list.push ({
        alter: age,
        vorname: preName,
        nachname: secName,
        geschlecht: gender,
    });

    generateList();
    stat();
    save();
});

但我想要一个编辑函数来获取选定的列表条目,

$("#liste").click(function selectList (event) {
        var target = $( event.target );
        if ( target.is( "li" ) ) {
            target.toggleClass('selected');
        }
    });

要完全采用这个 ONE(因为我不能一次编辑两个,或者我可以吗?也很酷)选择条目来编辑它。

这是我需要帮助的地方(之前的事情只是解释,在那里完成了工作)。

        $(".edit").click(function (){

                var index = $('.selected')
    //this where the magic i think should
// happen somehow i must get an Index form the selcted list entry

                function edit(index) { 

        // here fadeIN the form which is shown above.
                        $( "#block" ).fadeIn(500);  
        $( "#block" ).animate({width: '54.4%', opacity: '0.8',fontSize: '1.5em'}, 750);
        $( "#block" ).animate({height: '40%', opacity: '0.8', fontSize: '3em'}, 750);



//this is my Idea:


//I want to call the already exsiting click function with an Index
//inside the edit function.
//so the function conitnues like this:

                        $('.send').click(function onClick(index){


                        var age = $('#alter').val(index);
                        var preName = $('#vorname').val(index);
                        var secName = $('#nachname').val(index);            
                        var gender = $('#geschlecht').val(index);

                        liste[index].push = {
                            vorname: preName,
                            nachname: secName,
                            alter: age,
                            geschlecht: gender
                        };


                        generateList();
                        save();
                    });
                } 

            });

如果需要,我可以发布整个程序。可能是 ( 或 { 在这么多代码中丢失了,但我保证你在我的程序中一切正常。

【问题讨论】:

    标签: javascript jquery list select edit


    【解决方案1】:

    目前看起来是这样的:

    $("#liste").click(function selectList (event) {
        var target = $( event.target );
        if ( target.is( "li" ) && !$("li").hasClass('selected')) {
            target.addClass('selected');
        }
        else if (target.is( "li" ) && $("li").hasClass('selected')) {
            target.removeClass('selected');
        }
    });
    
    $('.deleteSel').click(function delSelectedEntries () {
        alert("Ausgewählte Beiträge wuden gelöscht");
        var sel = $('.selected'); //stores the entrys 
        sel.remove(); // removes only the list entrys temporaly
    });
    
    $(".edit").click(function editSelectedEntries(){    
        var index = $('.selected').attr("index");
        edit(index);
    });
    

    编辑功能:

    function edit (index){
    
        $( "#block" ).fadeIn(500);  
        $( "#block" ).animate({width: '54.4%', opacity: '0.8',fontSize: '1.5em'}, 750);
        $( "#block" ).animate({height: '40%', opacity: '0.8', fontSize: '3em'}, 750);
    
        $('#alter').val(list[index].alter);
        $('#vorname').val(list[index].vorname);
        $('#nachname').val(list[index].nachname);   
        $('#geschlecht').val(list[index].geschlecht);
    
        $('.send').click(function onClick(){ 
    
            var age = $('#alter').val(); 
            var preName = $('#vorname').val();
            var secName = $('#nachname').val();         
            var gender = $('#geschlecht').val();
    
            list[index] = {
                vorname: preName,
                nachname: secName,
                alter: age,
                geschlecht: gender
            };
    
            generateList();
        });
    

    【讨论】:

      猜你喜欢
      • 2021-09-26
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多