0

当我单击我拥有的单个 href 时,我想使三个不同的标签可编辑

<tr>
    <td align="left">PLZ:</td>

    <td>
        <label for="name" class="control-label">
            <p class="text-info">
                <label style="color: #662819;" id="plz"></label>
                <i class="icon-star"></i>
            </p>
        </label>
        <input type="text" class="edit-input" />

        <div class="controls">
            <a class="edit" href="#">Daten sichern</a>
        </div>
    </td>
</tr>

将这个标签更改为:

CSS:

.edit-input {
    display:none;
}

查询:

$(function() {
    $('a.edit').on("click", function(e) {
        e.preventDefault();
        var dad = $(this).parent().parent();
        var lbl = dad.find('label');
        lbl.hide();
        dad.find('input[type="text"]').val(lbl.text()).show().focus();
    });

    $('input[type=text]').focusout(function() {
        var dad = $(this).parent();
        $(this).hide();
        dad.find('label').text(this.value).show();
    });
});

如何为 2 个或更多标签执行此操作???喜欢关注的......:

<tr>
      <td align="left">Strasse:</td>
      <td>
        <label for="name" class="control-label">
            <p class="text-info">
                <label style="color: #662819;" id="street"></label>
                <i class="icon-star"></i>
            </p>
        </label>
        <input type="text" class="edit-input" />  
      </td>
</tr>

等等...

4

1 回答 1

1

要让不同的标签同时可编辑,当点击单个链接时,可以使用JQuery的each函数,如下代码所示:

$('a.edit').on('click',function(e){
    e.preventDefault();

    //Search for .control-label items
    $('label.control-label').each(function(key,item){
        var label = $(item);          
        label.hide();
        label.siblings('input.edit-input').val(label.text()).show().focus();
    });

});

希望能帮助到你!

于 2013-09-20T21:52:39.587 回答