私信  •  关注

Mamun

Mamun 最近创建的主题
Mamun 最近回复了

你可以试着用 .nextUntil()

获取每个元素的以下所有同级元素,包括但不包括传递的选择器、DOM节点或jQuery对象匹配的元素。

$('#before').nextUntil('#after').remove()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="before">Contents of before div</div>
<div>Between #1</div>
<p>Between #2</p>
<div>Between #3</div>
<div id="after">Contents of after div</div>
5 年前
回复了 Mamun 创建的主题 » Jquery只在依赖的select下拉列表上触发一次

属性与属性

查询1.6 .prop() 方法提供了显式检索属性值的方法,而 .attr() 检索属性。

你可以试着用 .prop() :

.prop('disabled', 'disabled');

演示: (根据评论中的讨论)

$(document).ready(function() {
  $("select[name=category]").on("change", function() {
    if($(this).val() == "") { 
      $("select[name=subcategory]").prop('disabled', 'disabled');
      $("select[name=ename]").prop('disabled', 'disabled');    
    } else {
      $("select[name=subcategory]").removeAttr("disabled");
      if($("select[name=subcategory]").val() == "") { 
        $("select[name=ename]").prop('disabled', 'disabled');
      } else {
        $("select[name=ename]").removeAttr("disabled");
      }
    }
    
  }).trigger('change');
  $("select[name=subcategory]").on("change", function() {
    if($(this).val() == "") { 
      $("select[name=ename]").prop('disabled', 'disabled');
    } else {
      $("select[name=ename]").removeAttr("disabled");
    }
  }).trigger('change');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="category">
  <option value="">Select</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
<select name="subcategory">
  <option value="">Select</option>
  <option value="a">A</option>
  <option value="b">B</option>
</select>
<select name="ename">
  <option value="">Select</option>
  <option value="1">1</option>
  <option value="2">2</option>
</select>
5 年前
回复了 Mamun 创建的主题 » 如何使用jquery删除按钮单击时附加的div?

.parents()

.家长() .parent() 方法是相似的,只是后者只在DOM树上移动一个级别。也, $( "html" ).parent() 方法返回包含文档的集合,而 $( "html" ).parents()

自从单击元素( .btnRemove ) 的( div.row .parent() 使用 :

$(document).ready(function () {
    $("#add").click(function () {
      $("#mydiv").append($("<div class='row' id='row'> <div class='col-md-4'><div class='form-group'><div class='col-md-10'><input type='text' name='vname[]'class='form-control' placeholder='Vazhipad Name' /></div></div></div><div class='col-md-4'><div class='form-group'><div class='col-md-10'><input type='text' name='vprize[]'class='form-control' placeholder='Vazhipad Prize' /> </div></div> </div><div class='form-group'><div class='col-md-10'><button type='button' id='btnRemove' class='btn btn-primary btnRemove'>-</button></div></div></div></div>"));
    });
    $('body').on('click', '.btnRemove', function () {
      $(this).parents('div.row').remove()
    });

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="add">Add</button>
<div id="mydiv"></div>
5 年前
回复了 Mamun 创建的主题 » 如何使用JQuery和JavaScript创建更改警报的按钮?

alert Window 方法,但您正试图在元素上访问它。

您可以尝试以下方法:

<select class="form-control" name="insurance_id"  onchange="myFunction(this)">
  <option value="" id="myInput">Travel Date</option>
  <option value="" id="myButton">Issued Date</option>
</select>

<script>
  function myFunction(sel) {
    var text = sel.options[sel.selectedIndex].text
    alert(text);
  }
  myFunction(document.querySelector('select'));
</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control" name="insurance_id">
  <option value="" id="myInput">Travel Date</option>
  <option value="" id="myButton">Issued Date</option>
</select>

<script>
  $('select').change(function(){
    alert($(this).find('option:selected').text());
  }).trigger('change');
</script>
5 年前
回复了 Mamun 创建的主题 » 使用JQuery.find()访问引导模式中的输入文本字段

当实际值为空时,您正试图在模态显示时访问输入值。您应该访问按钮的click handler函数中的值。

请注意: this 根据执行它们的上下文不同,因此 modal 点击并 button click有自己的 . 为了保存 (模态)可以将其存储在变量中,然后再使用它。

$('#my_modal').on('show.bs.modal', function(e) { 
  var id = $(e.relatedTarget).data('id');
  var that = $(this);
  $(this).find('button[id="save"]').click(function() {
    var txt = that.find('input[id="txt"]').val();
    alert(id);
    alert(txt);
   });
  
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

<a href="#my_modal" data-toggle="modal" data-id="1">Edit</a>

<div class="modal" id="my_modal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
        <h4 class="modal-title">Click Save!</h4>
      </div>

      <div class="modal-body">
        <div class="form-group">
          <label for="txt" class="control-label">Text:</label>
          <input id="txt" class="form-control" autofocus="autofocus" placeholder="1000"/>
        </div>
     </div>

     <div class="modal-footer">
       <button id="save" type="save" class="btn btn-primary" data-dismiss="modal">Save</button>
       <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
     </div>
   </div>
 </div>
</div>
6 年前
回复了 Mamun 创建的主题 » 为什么这个javascript/jquery没有捕获用户输入?

问题是,您正在从页面加载时的输入中获取值,而该值为空。

您应该按如下方式获取click handler函数中输入字段的值:

var baseURL = "http://api.giphy.com/v1/gifs/search?q="
var apiKey = "Yz4pO4lJDaMYGIX80M9gc2Mq7HKKS2or"
$("#find-giphy").on("click", function () {
  var input = $("#search-field").val();
  var queryURL = baseURL + input + "&api_key=" + apiKey + "&limit=10";
  $.ajax({
      url: queryURL,
      method: "GET"
  }).then(function (response) {
      console.log(response);
      console.log(queryURL);
  })
})
<div class="container">
    <h1>gifTastic!</h1>
    <label for="search-field">Find a TV Show: </label>
    <input type="text" id="search-field">
    <input id="find-giphy" type="submit" value="giphy Search">
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

你有问题

onclick="onclick="deleteItem($(this))

我想只是路过 对功能来说就足够了。我也喜欢 Template literals .

你可以尝试以下方式:

$(document).on('click','.addItem', function(){

    $(this).append(`<div class="col3">
        <input type="hidden" class="itemId" name="itemId[]" value="hiddenTestValue">
        <a class="rowDeleteButton" onclick="deleteItem(event,this)">Delete Button</a>
        <div class="saveButton rowSave">Save Button</div>
    </div>`)
  
});

function deleteItem(e, el){
  var hdInput = $(el).parent().find('.itemId');
  console.log('value before:',hdInput[0].value);
  hdInput[0].value = '';
  console.log('value after:',hdInput[0].value);
  e.stopPropagation();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="addItem">Test</div>
6 年前
回复了 Mamun 创建的主题 » 单击按钮时jquery分别显示

你的结构 HTML 建议您可以使用索引隐藏/显示元素:

$('#showMcq, #showOe, #showLt, #showAs').click(function() {
  var idx = $('button').index(this);
  $('.course-design-custom').hide(); //hide all
  $('.course-design-custom').eq(idx).show(); //show only by matching the index 
});
.d-none{display: none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="showMcq">MCQ</button>
<button id="showOe">Open Ended</button>
<button id="showLt">Learning Task</button>
<button id="showAs">Assessment</button>

<div class="container">
  <div class="row course-design-custom" id="McqView">
      MCQ
  </div>

  <div class="row course-design-custom d-none" id="OeView">
      Open Ended
  </div>

  <div class="row course-design-custom d-none" id="LearningTaskView">
      Learning Task
  </div>

  <div class="row course-design-custom d-none" id="AssessmentView">
     Assessment
  </div>
</div>
6 年前
回复了 Mamun 创建的主题 » jquery:未在动态添加的输入控件上触发keyup事件

用于动态创建的元素 delegated event :

$('body').on('keyup', 'input[type=text]' function (e) {

您应该在全局环境中声明数组(在函数外部)。在对象内部还存在一些语法问题(应该是 : 而不是 = )那么你可以简单地 push() 对象在数组中的每个按钮中单击。

请尝试以下方法:

var pessoas = [];
function vai(){
  var pessoa = {
    nome: document.getElementById('nome').value,
    idade: document.getElementById('idade').value
  };
  pessoas.push(pessoa);
  console.log(pessoas);
}
<label>Digite seu nome aqui</label>
<input type='text' id='nome' placeholder='aquii'>
<label>Digite sua idade aqui</label>
<input type='text' id='idade' placeholder='aquii'>
<button onclick='vai()'>
  Teste aqui
</button>

你不使用 小精灵 通过维护一个变量几乎是正确的,除了变量声明范围。您必须将其声明为全局变量。您可以将对象分配到当前位置,并在每个函数调用中增加该位置:

var pessoas = [];
var i = 0;
function vai(){
  var pessoa = {
    nome: document.getElementById('nome').value,
    idade: document.getElementById('idade').value
  };
  pessoas[i] = pessoa;
  i++;
  console.log(pessoas);
}
<标签>Digite Seu Nome Aqui</Label>
<input type='text'id='nome'placeholder='aquii'>
<label>Digite Sua Idade Aqui</label>
<input type='text'id='idade'placeholder='aquii'>
<button onclick='vai()'>
试验Aqui
</button>

请注意: 您也可以简单地使用 length 财产 数组的当前值 指数 在这种情况下,您需要维护变量:

var pessoas = [];
function vai(){
  var pessoa = {
    nome: document.getElementById('nome').value,
    idade: document.getElementById('idade').value
  };
  pessoas[pessoas.length] = pessoa;
  console.log(pessoas);
}
<标签>Digite Seu Nome Aqui</Label>
<input type='text'id='nome'placeholder='aquii'>
<label>Digite Sua Idade Aqui</label>
<input type='text'id='idade'placeholder='aquii'>
<button onclick='vai()'>
试验Aqui
</button>