2013-01-12 26 views
0

我想从某个行复制值到一个对话框形式,我打电话与jQuery的,但我无法让它正常工作。 (编辑功能)。对话框打开但不传递ei_Ingredient中的值。上面的“添加成分”功能完美地起作用。下面是我的代码,你可以看到三种方式,我迄今尝试过...Jquery - 将值添加到对话框字段

$(document).ready(function() { 

     var _Ingredient = $('#ingHeader'), 
      _newIngredient = $('#newIngredient'), 
      _newMeasurement = $('#newMeasurement'), 
      _newAmount = $('#newAmount'), 
      allFields = $([]).add(_newIngredient).add(_newMeasurement).add(_newAmount) 
     $('#dialog-form').dialog({ 
      autoOpen: false, 
      height: 300, 
      width: 350, 
      modal: true, 
      show: "clip", 
      hide: "scale", 
      speed: "fast", 
      buttons: { 
       "Add Ingredient": function() { 
        var _row = $('#templates').find('.row-template-ExistingItem').clone(); 
        _row.find('.ei_Ingredient').val(_newIngredient.val()); 
        _row.find('.ei_Measurement').val(_newMeasurement.val()); 
        _row.find('.ei_Amount').val(_newAmount.val()); 
        _row.find('.edit').click(function() { 
         _newIngredient.val(); 
         _newMeasurement.val(_row.find('ei_Ingredient').val()); 
         _newAmount.val($('.ei_Amount').val()); 
         $('#dialog-form').dialog('open'); 
        }); 
        _row.find('.delete').click(function() { 
         _row.remove(); 
        }); 

        _Ingredient.append(_row); 
        $(this).dialog("close"); 
       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      }, 
       close: function() { 
        allFields.val(""); 
       } 
     }); 

模板:

<tr class="row-template-ExistingItem"> 
     <td><input class="ei_Ingredient" readonly="true"/></td> 
     <td><input class="ei_Measurement" readonly="true" /></td> 
     <td><input class="ei_Amount" readonly="true" /></td> 
     <td><input type="button" value="Edit" class="edit" style="width:45px;" /></td> 
     <td><input type="button" value="Delete" class="delete" style="width:45px;" /></td> 
    </tr> 

形式:

回答

0

啊,我只是明白了这一点。这是工作的线路:

_newMeasurement.val(_row.find('ei_Ingredient').val()); 

我的问题是我忘了班级名称前的一段时间。它应该是:

_newMeasurement.val(_row.find('.ei_Ingredient').val());