如何使用jquery删除textarea中的值

时间:2012-09-13 07:22:59

标签: jquery html

嗨我的div表中有一行如下:

<div class="tbody plb" id="impemail">
    <div class="tbc1" style="border-right:none;">
        <input class="tblinput sname pvar" type="text">
        <input type="hidden" class="ppre" value="">
    </div>
    <div class="thc2" style=" width: 75%; border-left:1px dotted #CFCFCF;">
        <textarea class="tblinput semails txtInputta pvar" style="font-size:13px;"></textarea>
        <input type="hidden" class="ppre" value="">
        <div class="errmsg emailerr"></div>
    </div>
    <div class="hideRow" style="width:20px;float:right;padding:15px 0px 0px 0px;">
        <img src="../../../images/redcross.png" alt="" />
    </div>
</div>

我尝试编写函数来删除这一行,当我点击类“hideRow”使用jQuery函数如下,这里我想清除输入和textarea字段,而hideRow函数正在进行,以便刷新后页面中的值不应该在行中。 我试过的jQuery函数如下:

 $(function () {
     // Delete row from PTC grid 
     $('.hideRow').live("click", function () {
         $(this).parents('.plb').hide("slow", function () {
             $(this).parents('.tblinput sname pvar').val('');
             $(this).parents('.tblinput semails txtInputta pvar').val('');
         });
     })
 });

任何人都请告诉我如何清除这两个字段,以便在页面重新加载后,这些值不应该存在。

2 个答案:

答案 0 :(得分:6)

更改您的选择器,如下所示:

$(this).parents('.tblinput.sname.pvar').val('');
$(this).parents('.tblinput.semails.txtInputta.pvar').val('');

对于元素的多个class es,您需要使用class加入dot(.)个名称,而无需任何空间在其中创建选择器,如上所述。


您的选择器在做什么

您的选择器.tblinput sname pvar descendant selector 格式。这意味着它在pvar内的snamesname内搜索tblinput,而在第二个$(function () { // Delete row from PTC grid $('.hideRow').live("click", function () { $(this).closest('.plb').hide("slow", function () { $(this).find('.tblinput.sname.pvar, .tblinput.semails.txtInputta.pvar').val(''); }); }) }); 内搜索相同。


相关参考:


根据评论

{{1}}

答案 1 :(得分:0)

您的主要问题是,在.hide()的回调中,this的值是指隐藏的元素;正确的遍历技术.find()$(this).find('.tblinput.sname.pvar').val('');一样。

<强>的Javascript

 $(function () {
     // Delete row from PTC grid

     // .live() is deprecated, port to .on()
     $('.hideRow').live("click", function () {

         //use .closest() instead of .parents() - less traversing
         $(this).closest('.plb').hide("slow", function () {

             // search down, not up - and no space between class selectors
             $(this).find('.tblinput.sname.pvar').val('');
             $(this).find('.tblinput.semails.txtInputta.pvar').val('');
         });
     })
 });