使用jquery创建内联更新字段

时间:2010-09-24 21:43:24

标签: javascript jquery

我已经卡住(再次)

我有一个表,其中一列是我希望能够点击的值,变成输入字段,然后再次点击将其更改回文本。

我已经完成了第一步。它变成一个输入字段,其中包含一个指向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");
});

3 个答案:

答案 0 :(得分:1)

您需要使用live()函数,否则该事件将不会添加到新创建的元素中。

$(".update_qty").live('click',function() {
   alert("check if firing");
});

答案 1 :(得分:1)

演示

http://jsfiddle.net/JEBaN/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>");
});