使用文本输入值更新父级

时间:2013-02-28 18:52:50

标签: javascript jquery dialog textinput

好的,所以我有一个输入对话框。关闭对话框时,有一个更新父UL的功能。该UL中的父LI应具有文本输入值。它不起作用。请帮忙。我在我的更新中发出警报,以查看该值是否存在。没运气。 http://jsfiddle.net/C9EbG/

的jQuery

    $("input.save").click(function () {         
      $('#numbers tbody tr').each(function(i,v){            
        var ele = $(v);
        var adjName = $('input[name=adjName]',ele).val();
        parent.updateParent2(adjName);
      });
    });   
//////////////////////////////
function updateParent2(adjName){
    alert(adjName);
      var ul = $('ul.adjTabs');
      var li = ul.find('li:first').clone().val(adjName);
      li.find('li:first input');
      li.appendTo(ul)//.val(adjName);
  }

HTML

    <table id="numbers">
      <tbody>
        <tr id="cloneableRow" class="prototype">        
          <td >
          <input type="text" name="adjName" value="" class="text214 apni"/>
          </td>
        </tr>
      </tbody>
    </table>
<input type='button' value='save' class='save' />

            <ul class="tabs adjTabs">
              <li class="selected"><a href="#">Adjustments ABC</a></li>
              <li><a href="#">Adjustments DEF</a></li>
            </ul>

2 个答案:

答案 0 :(得分:1)

试试这个:http://jsfiddle.net/C9EbG/6/

您可以在此处查看更改:

$("input.save").click(function () {         
  $('#numbers tbody tr').each(function(i,v){            
    var ele = $(v);
    var adjName = $('input[name=adjName]',ele).val();
    updateParent2(adjName);
  });
});   

//////////////////////////////
function updateParent2(adjName){
  var ul = $('ul.adjTabs');
  var li = ul.find('li:first').clone();
  li.children('a').text(adjName);
  li.find('li:first input');
  li.appendTo(ul)//.val(adjName);
}

答案 1 :(得分:0)

你的jsfiddle没有重新启动jQuery。我解决了这个和你的错误:http://jsfiddle.net/C9EbG/3/

错误是你应该拨打updateParent2(adjName)而不是parent.updateParent2(adjName)