2017-09-17 30 views
0

我开放popap jQuery的错误:错误:HTML + jQuery的

1波顿CódigoHTML

<button type="button" class="btn btn-primary" id="btnAddCentrocosto" value="AddCentrocosto" onclick="$parent.openAddCentrocosto">Agregar Centro Costos</button> 

2. Popap HTML

<div class="panel-heading" id="dialogAddCentrocosto" title="Centro de Costos..."> 
     <table>   
      <tr> 
       <td><label>Costo : </label></td> 
       <td><input type="text" id="nCosto" /></td> 
      </tr> 
      <tr> 
       <td><label>Observaciones : </label></td> 
       <td><textarea rows="5" id="strObservacionDistribucion" class="form-control" name="strObservacionDistribucion"></textarea></td>  
      </tr> 

     </table> 
</div> 

3。 Jquery

self.openAddCentrocosto = function() { 
      tr = jQuery('#btnAddCentrocosto').parent().parent(); 
      jQuery('#Distribucion').val(jQuery('td[data-bind="text: 
      jQuery('#nCosto').val(''); 
      jQuery('#nImpuestoDistribucion').val('18'); 
      //jQuery('#nTotalDistribucion').val(''); 
      jQuery('#dialogAddCentrocosto').dialog('open'); 
     } 

4. Mensaje德错误 当按钮点击我应提高popap,但它不这样做,它让我看到以下错误消息:

Uncaught ReferenceError: $parent is not defined 
    at HTMLButtonElement.onclick 

我加入knockout.js,因为在框架的某个字段中,如果调用正常,每个按钮都需要一个按钮,但按钮我需要在外面,以便它不会像细节那样重复多少行。

如果有人能帮助我解决这个错误,非常感谢。

+0

这个问题与[标签:knockout.js]有什么关系? – connexo

+0

***我正在添加knockout.js,因为在框架的某个字段中,如果调用正常,每个按钮都需要一个按钮,所以它不会像细节那样重复多少行*** – DAES

+0

对不起,我试图了解你想说什么的时间太艰难了。 – connexo

回答

1

在你的onclick属性中,你已经设置了$parent.openAddCentrocosto,但是$parent没有在全局范围定义,它需要在这个范围内工作。

有两种解决方案。首先,您可以将$parent移至全局范围。其次,你可以摆脱onclick属性,并使用jQuery来连接事件。这将通过代理解决问题,只要您在document.ready范围内声明$parent即可。

这些解决方案的后者,是迄今为止更好。 on*属性现在非常过时,应该避免,除非绝对必要。

+0

#Rory McCrossan,你有任何的参考链接?我没有清楚的语法。 – DAES