Javascript 如何在jquery中获取用户可编辑的表值

Javascript 如何在jquery中获取用户可编辑的表值,javascript,jquery,Javascript,Jquery,我正在尝试将表中的所有值合并到一个对象中。但是我的表既有可编辑的,也有只读的。如果我在可编辑的中输入任何数据,我无法使用下面的代码获得相同的数据。请有人帮我得到要求的结果 var itemtbl=$('table#itemtable tr').map(函数(){ 返回$(this.find('td').map(function(){ if($(this).find('input[type=“text”],textarea').length){ 警报(“我在文本区域”); 返回$(this.va

我正在尝试将表中的所有值合并到一个对象中。但是我的表既有可编辑的,也有只读的。如果我在可编辑的
中输入任何数据,我无法使用下面的代码获得相同的数据。请有人帮我得到要求的结果

var itemtbl=$('table#itemtable tr').map(函数(){
返回$(this.find('td').map(function(){
if($(this).find('input[type=“text”],textarea').length){
警报(“我在文本区域”);
返回$(this.val();
}否则{
警惕(“我处于只读状态”);
返回$(this.text();
}
}).get();
}).get()
您的代码应更改为:

 var itemtbl = $('table#itemtable tr').map(function() {
    return $(this).find('td').map(function() {
        if($(this).find('input[type="text"],textarea').length) {
        alert("i am in text area");

        // $(this) will point to current <td> element, not to input
          //            return $(this).val();
         return $(this).find('input[type="text"],textarea').val();
        // and this is correct context

      } else {
          alert("i am in readonly");
          return $(this).text();
      }
        }).get();
    }).get();
var itemtbl=$('table#itemtable tr').map(函数(){
返回$(this.find('td').map(function(){
if($(this).find('input[type=“text”],textarea').length){
警报(“我在文本区域”);
//$(这)将指向当前元素,而不是输入
//返回$(this.val();
返回$(this.find('input[type=“text”],textarea').val();
//这是正确的上下文
}否则{
警惕(“我处于只读状态”);
返回$(this.text();
}
}).get();
}).get();

检查它是否有输入,如果有,获取输入值。请检查我的更新代码。使用val();但是没有运气。请检查我的更新代码。使用val()获取用户数据。但却得不到!当然。当仍然处于“td”上下文中并通过tru从td元素获取val()时,可以使用$(this)
 var itemtbl = $('table#itemtable tr').map(function() {
    return $(this).find('td').map(function() {
        if($(this).find('input[type="text"],textarea').length) {
        alert("i am in text area");

        // $(this) will point to current <td> element, not to input
          //            return $(this).val();
         return $(this).find('input[type="text"],textarea').val();
        // and this is correct context

      } else {
          alert("i am in readonly");
          return $(this).text();
      }
        }).get();
    }).get();