如何获取标签的文本更改值?

时间:2015-04-16 08:01:45

标签: javascript jquery html

<p class="postal">
  <label contenteditable="true" class="tabValue">post code</label>
  <label contenteditable="true" class="tabValue">post code</label>
</p>

$(document).ready(function() {
$('.tabValue').change(function() {
    console.log(this.innerText);
   });
});

我一直在尝试使用此核心,但无法将更改文本值带到控制台。 请访问此链接以获取示例:http://jsfiddle.net/wqje0x6s/2/

5 个答案:

答案 0 :(得分:0)

您可以尝试这样:

value = $(this).text(); 

答案 1 :(得分:0)

在jquery中使用.text()

$(document).ready(function() {
    $('#tabValue').focusout(function() {
        console.log($(this).text());
    });
});

Fiddle

答案 2 :(得分:0)

你打算如何“改变”你的标签?也许你想用click?

$('.tabValue').click(function() {
    console.log($(this).text());
});

答案 3 :(得分:0)

尝试使用input/blur个事件; change元素

不会触发contenteditable事件
$('.tabValue').on('blur input',function() {
    console.log(this.innerText);
});

var currVal = {};
$(document).ready(function () {
    $('.tabValue').on('blur', function () {
        if(currVal[this] === this.innerText){
            //Do not call DB        
        }
        else{
            currVal[this] = this.innerText;
            console.log(this.innerText);
            //Call DB
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="postal">
  <label contenteditable="true" class="tabValue">post code</label>
  <label contenteditable="true" class="tabValue">post code</label>
</p>

Fiddle

  

注意:input可能无法在旧浏览器上运行。使用blur/focusout然后

答案 4 :(得分:0)

在这里,我点击标签更改文字及其为我工作

$(document).ready(function() 
{
    $('#tabValue').click(function() {
        $("#tabValue").text('Text changed');
    });
})