javascript 当DIV名称或ID变为输入字段时,如何获得相同的DIV名称或ID?

t0ybt7op  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(73)

我想创建一个类似MySQL的可编辑列表,但当它被更改为输入字段时,我无法获得相同的DIV id。我该如何做到这一点?
这是我的代码

//<![CDATA[
$(window).load(function() {
  $.fn.editable = function() {
    var textBlocks = $(this);

    for (var i = 0; i < textBlocks.length; i += 1) {
      var textBox = $('<input class="my-text-box" onchange="myFunction(this.value)" />');
      var textBlock = textBlocks.eq(i);
      textBox.hide().insertAfter(textBlock).val(textBlock.html());
    }

    textBlocks.dblclick(function() {
      toggleVisiblity($(this), true);

    });

    $('.my-text-box').blur(function() {
      toggleVisiblity($(this), false);
    });

    toggleVisiblity = function(element, editMode) {
      var textBlock,
        textBox;

      if (editMode === true) {
        textBlock = element;
        textBox = element.next();
        textBlock.hide();
        textBox.show().focus();
        textBox[0].value = textBox[0].value;
      } else {
        textBlock = element.prev();
        textBox = element;
        textBlock.show();
        textBox.hide();
        textBlock.html(textBox.val());
      }
    };
  };

  var $edit = $('.makeEditable').editable();
});

function myFunction(val) {
  document.writeln(val);
}

个字符

r6l8ljro

r6l8ljro1#

您可以在将divid更改为如下所示的输入字段时获得它。
if (editMode === true) {}块中,添加var divId = element.attr('id'));,如下所示。

if (editMode === true) {
    var divId = element.attr('id'));
    console.log(divId);
}

字符串

相关问题