Jquery ui 如何添加动态jquery按钮?

Jquery ui 如何添加动态jquery按钮?,jquery-ui,button,Jquery Ui,Button,我有一个使用jquery添加和删除行的表。我还使用jqueryui呈现按钮 当我添加新行时,我也会在单元格中添加一个按钮,但这个按钮不会被渲染 var tdata = "<tr>"; tdata += "<td align=\"right\">my data</td>"; tdata += "<td align=\"left\">"; tdata += "<button class=\"delete\">delete</butto

我有一个使用jquery添加和删除行的表。我还使用jqueryui呈现按钮

当我添加新行时,我也会在单元格中添加一个按钮,但这个按钮不会被渲染

var tdata = "<tr>";
tdata += "<td align=\"right\">my data</td>";
tdata += "<td align=\"left\">";
tdata += "<button class=\"delete\">delete</button>";
tdata += "</td>";
tdata += "</tr>";

jQuery('#mytable > tbody:last').append(tdata);

这在加载页面后有效,但不适用于新行。

我尝试了,但没有发现任何问题,但我用标签更改了标签

这是我的代码 在科长

<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.6.custom.css" rel="Stylesheet" />    
<script type="text/javascript" src="js/jquery-1.4.3.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('#fooBtn').bind('click', function(event) {
            addRow();
    });
    });
 </script>
在ready()函数中,您将创建jquery ui样式的按钮,但它们将仅应用于当前现有的按钮

因此,动态添加的按钮不会将此应用于它们,因此您必须修改addRow函数以将button()调用应用于新创建的标记

像这样:

var tdata = "<tr>";
tdata += "<td align=\"right\">my data</td>";
tdata += "<td align=\"left\">";
tdata += "<button class=\"delete\">delete</button>";
tdata += "</td>";
tdata += "</tr>";
var tdataElement = jQuery(tdata);
jQuery('button.delete',tdataElement).button();
jQuery('#mytable > tbody:last').append(tdataElement);
var tdata=”“;
tdata+=“我的数据”;
tdata+=“”;
tdata+=“删除”;
tdata+=“”;
tdata+=“”;
var tdataElement=jQuery(tdata);
jQuery('button.delete',tdataElement.button();
jQuery('#mytable>tbody:last').append(tdataElement);

要应用主题,需要找到按钮,然后应用样式

tdataElement.find(":button").button();
jQuery('#mytable > tbody:last').append(tdataElement);

看起来我在我的帖子里遗漏了一些重要的东西。。。请注意,如果我添加了一个类似于“jQuery('button.delete')的click函数,这也是一个问题。单击(function(){return false;});我的意思是,当我在$(document).ready()上执行此操作时,它会起作用,但对于动态添加的按钮则不起作用。
<table id="mytable">
    <tr>
        <td align="right">
            my data
        </td>
        <td align="left">

            <input type="button" class="delete" value="delete"></input>
        </td>
    </tr>
   </table>
   <input type="button" id="fooBtn" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only delete" value="Add Row" />
 var bt = tdataElement.find(":button");
  bt.button();
  bt.click(function() {
      alert('Handler for .click() called.');
  });
  jQuery('#mytable > tbody:last').append(tdataElement);
var tdata = "<tr>";
tdata += "<td align=\"right\">my data</td>";
tdata += "<td align=\"left\">";
tdata += "<button class=\"delete\">delete</button>";
tdata += "</td>";
tdata += "</tr>";
var tdataElement = jQuery(tdata);
jQuery('button.delete',tdataElement).button();
jQuery('#mytable > tbody:last').append(tdataElement);
tdataElement.find(":button").button();
jQuery('#mytable > tbody:last').append(tdataElement);