如何获得多层次的孩子

时间:2018-02-20 09:41:22

标签: javascript jquery

在提交课程post_alternate_category_name时,我需要将输入元素alternate_category的值设为空,我需要将标签.ermsg的文本设置为saving..。我写的代码不起作用:

<form method="POST" class="form-horizontal post_alternate_category_name">
  <div class="control-group">
    <label class="control-label">Alternate name</label>
    <div class="controls">
      <input class="m-wrap large alternate_category" name="alternate_category" type="text" value="">
      <button type="submit" class="btn blue">Add</button>
      <label class="ermsg" style="color: red"></label>
      <input type="hidden" name="category_id" value="1">
    </div>
    <input type="hidden" name="_token" value="Jl3DOrLd0clH5cv17I5JQumqFtJzV8uNjblIZGu3">
  </div>
</form>
$('.post_alternate_category_name').on('submit', function(e) {
  e.preventDefault();
  $.ajax({
    type: "POST",
    url: "someurl",
    data: "somedata",
    beforeSend:function() {
      $(this).children('.control-group').children('.controls').children('.ermsg').val('Saving');
      $(this).find('.ermsg').html("");
    },
    success: function(response) {
      $(this).children('.control-group').children('.controls').children('input[name="alternate_category"]').val('');
    }
  });
});

2 个答案:

答案 0 :(得分:0)

a)我需要创建输入元素的值&#34; alternate_category&#34;空。

$('input[name="alternate_category"]').val('');

b)我需要设置标签&#34; .ermsg&#34;的文本。 as&#34;保存..&#34;

$('.ermsg').html("saving..");

答案 1 :(得分:0)

您可以使用

  

.find()函数获取元素内的所有子元素。   jQuery find

而不是使用多个&#34; .children()&#34;方法,您可以直接重置和更新值。见下面的代码。把它放在你喜欢的任何地方。

$('.post_alternate_category_name').on('submit', function(e) {
    e.preventDefault();
    $('input[name=alternate_category').val('');
    $('label.ermsg').text(''Saving...);
)};