我已经卡住(再次)
我有一个表,其中一列是我希望能够点击的值,变成输入字段,然后再次点击将其更改回文本。
我已经完成了第一步。它变成一个输入字段,其中包含一个指向click的链接,它使用之前在td中的值。
但是,在编写更新值并删除输入的函数时,我根本无法触发它。我已经尝试将输入字段和硬编码复制到页面的第一步,当我这样做时,它确实触发了点击功能。 (我还没有写完这一步,因为我想首先启动该功能。下面是我的代码。非常感谢任何帮助!
HTML:
<table>
<tr id="1"><td class="qty" set="0" >2</td></tr>
<tr id="2"><td class="qty" set="0" >2</td></tr>
<tr id="3"><td class="qty" set="0" >2</td></tr>
</table>
JQUERY:
$(".qty").click(function(){
var value = $(this).text();
var set =$(this).attr('set');
if (set==0){
$(this).html('<input type="text" name="quantity" value="'+value+'"><a href="#" class="update_qty">update</a> </span>');
$(this).attr('set', '1');
}
});
$(".update_qty").click(function(){
alert("using this to check if it's firing");
});
答案 0 :(得分:1)
您需要使用live()函数,否则该事件将不会添加到新创建的元素中。
$(".update_qty").live('click',function() {
alert("check if firing");
});
答案 1 :(得分:1)
演示
一些价值 <br><br>
<a href='javascript:' id='toEdit'>To Edit Mode</a>
<a href='javascript:' id='toView'>To View Mode</a>
jQuery(function(){
jQuery('#toEdit').click(_toEditMode);
jQuery('#toView').click(_toViewMode);
});
function _toEditMode()
{
var _elm=jQuery('.converter');
var _val= _elm.html();
_elm.html('<input type="text" value="'+_val+'" />');
}
function _toViewMode()
{
var _elm=jQuery('.converter');
var _val= _elm.find('input').val();
_elm.html(_val);
}
答案 2 :(得分:-1)
$(".update_qty").click(function(){
$("qty").html("<p>whatever text you want</p>");
});