社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

使用js/jquery从附加的选择器选项中获取值

leonardofmed • 5 年前 • 1285 次点击  

我试图从一个附加的带有jquery函数的选择器中获取值。该函数可以很好地处理未附加的主元素,但不会处理附加的元素。

我的代码:

<div id="mainSeparator">
      <div id="newLayer" class="newLayer">        
        <div class="form-row">
          <div class="form-group col-md-6">
            <select class="form-control mySelector" id="selector">
              <option hidden disabled selected value>Select an option</option>
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
            </select>
          </div>
        </div>
        <div class="newDiv"></div>
      </div>      
    </div>

我现在使用的函数是获取值:

$(document).on('change', '.mySelector', function () {
      var str = "";
      $('.mySelector option:selected').each(function () {
        str += $( this ).text();
        $('.newDiv').text(str);
      })
    });

有一个按钮附加了另一个 newLayer 在里面 mainSeparator

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39738
 
1285 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rory McCrossan
Reply   •   1 楼
Rory McCrossan    6 年前

问题是你总是瞄准目标 $('.mySelector option:selected') . 这只会看到 .mySelector dom中的元素。

从逻辑的上下文来看,您似乎希望查看选定的选项 在内部 这个 select 使 change 事件。因此你需要使用 this find() . 还要注意,更新 .newDiv 循环完成后:

$(document).on('change', '.mySelector', function () {
  var str = "";
  $(this).find('option:selected').each(function () {
    str += $(this).text();
  });
  $('.newDiv').text(str);
});

通过使用 map() :

$(document).on('change', '.mySelector', function () {
  var str = $(this).find('option:selected').map(function () {
    return $(this).text();
  }).get().join('');
  $('.newDiv').text(str);
});