使用Jquery清除输入文本字段值

时间:2015-02-13 13:07:43

标签: javascript jquery html

我似乎能够使用

隐藏资源容器
resource.parent().parent().hide(); 

但我不明白为什么输入值没有用

清除
resource.parent().siblings('.resource-value').children('input').val('');

当我使用

resource.parent().siblings('.resource-value')我获得了输入值的父级,但在此基础上添加.children('input').val('')无效,或者我添加了.children('input:text').val('')

我有一些非常相似的代码用于其他可以正常工作的代码,查看其他问题并且不确定我缺少什么。



function removeResource(resource) {
    'use strict';

    //hide resource on screen
    resource.parent().parent().hide();

    //set resource text value to ''
    resource.parent().siblings('.resource-value').children('input').val('');
}

(function($) {
    'use strict';

    $(function() {
        $('#resources').on('click', '.remove-resource', function(evt) {
            // Stop the anchor's default behavior
            evt.preventDefault();

            // Remove the image, toggle the anchors
            removeResource($(this));
        });
    });
})(jQuery);

<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
  <div id="resources">
     <div class="resource">
        <div class="resource-value">
           <input type="text" name="resources[]" value="1" />
        </div>
        <p class="hide-if-no-js"><a title="remove resource" href="javascript:;" class="remove-resource">remove resource</a > </p>
        <!-- .hide-if-no-js -->
     </div>
     <div class="resource">
        <div class="resource-value">
           <input type="text" name="resources[]" value="2"/>
        </div>
        <p class="hide-if-no-js"><a title="remove resourcee" href="javascript:;" class="remove-resource">remove resource</a> </p>
        <!-- .hide-if-no-js -->
     </div>
  </div>
   </body>
<html/>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:2)

尝试使用。记录您的兄弟元素 尝试将removeResource功能更改为

function removeResource(resource) {

  'use strict';

  //hide resource on screen
  var parent = resource.parent().parent();
  parent.hide();

  // log your element
  console.log(parent.find('.resource-value input'));
  // make sure you are getting an element you need
  console.log(parent.siblings('.resource-value').childer('input').get(0);
  //set resource text value to ''
  parent.find('.resource-value input').val('');
}

答案 1 :(得分:2)

尝试使用代码,并根据字段清算的实际值对我工作正常,但在检查器中,HTML元素仍然显示值属性。

您可以使用

.attr('value','')

也要明确http://jsfiddle.net/bvtg93dm

答案 2 :(得分:1)

你只需要将值jcery更改为设置&#34;&#34; (所以,空)。

input.attr('value','')
相关问题