Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 根据另一个select的输入将数据推入select_Jquery - Fatal编程技术网

Jquery 根据另一个select的输入将数据推入select

Jquery 根据另一个select的输入将数据推入select,jquery,Jquery,我试图根据在第一次选择中选择的输入,将值推送到“品种”下拉列表中。我有所有需要的数据。我只是不知道如何把它推到select中。数据由breed_data.dog、breed_data.cat等访问。所以最初我在change函数中创建了一个each循环。我不知道从哪里开始,任何提示都将不胜感激 <form id="filter" class="filter" action="http://dev/petlist/public/site/index" accept-charset="ut

我试图根据在第一次选择中选择的输入,将值推送到“品种”下拉列表中。我有所有需要的数据。我只是不知道如何把它推到select中。数据由breed_data.dog、breed_data.cat等访问。所以最初我在change函数中创建了一个each循环。我不知道从哪里开始,任何提示都将不胜感激

   <form id="filter" class="filter" action="http://dev/petlist/public/site/index" accept-charset="utf-8" method="post">  
       <select name="petsDropDown" id="form_petsDropDown">
         <option value="allPets">All Pets</option>
         <option value="barnyard">Barnyard</option>
         <option value="bird">Bird</option>
         <option value="cat">Cats</option>
         <option value="dog">Dogs</option>
         <option value="horse">Horse</option>
         <option value="pig">Pigs</option>
         <option value="smallfurry">Smallfurry</option>
      </select>          
      <select name="breedDropDown" id="form_breedDropDown">
         <option value="select_breed">Select Breed</option>
      </select>        
   </form>


   $(function(){
      $('#form_petsDropDown').change(function(){
         $('#form_breedDropDown').prop('disabled',($(this).val()=='allPets'));
         $(breed_data).each(function() { 
            /*console.log(breed_data.dog);
              console.log(breed_data.cat);
              console.log(breed_data.smallfurry);
              console.log(breed_data.bird);
              console.log(breed_data.pig);
              console.log(breed_data.horse);*/
         });
      }).change();
   });
显示可用的品种 在找到品种时启用“品种”下拉列表 当找到所有品种或未找到匹配品种时,显示选择品种。
什么是数据,一个对象?你能把它添加到你的问题中吗?繁殖数据是从另一个js文件调用的。这是一组狗、猫和所有其他动物。这是一把js小提琴,你可以知道我在做什么。您可能不想在“宠物”菜单的“更改”事件中将“品种”推送到“选择”菜单上的代码,因为每次“宠物”菜单更改时,该代码都会更改。您可能只想在更改事件之前执行一次。由于某种原因,这是由于我累了时出现的一个错误,谢谢您的查看,cheers@user2677350:是的,我打错了,正在写。以下是最终结果:
$('#form_petsDropDown').change(function(){
  var breed = $(this).val(), // get current pet
      breeds = breed in breed_data // get breeds based on pet
          ? breed_data[breed] // load matches
          : {'select_breed':'Select Breed'}; // default when none are found
      $breeds = $('#form_breedDropDown'); // alias

  // disable when necessary
  $breeds.prop('disabled', !(breed in breed_data)).empty();

  // populate results
  $.each(breeds, function(v,k){
      $('<option>',{'value':v}).text(k).appendTo($breeds);
  });
});
$('#form_petsDropDown').change(function(){
     $('#form_breedDropDown').prop('disabled',(this.value === 'allPets'));

     var options = $([]),
         data    = this.value in breed_data ? breed_data[this.value] : [];

     $.each(data, function(k,v) {
          var opt = $('<option />', {text: v, value: v});
          options = options.add(opt)
     });

     $('#form_breedDropDown').html(options);
});