社区所有版块导航
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

Jquery从Select中获取值,然后选中具有相同值的复选框

Chazlie • 3 年前 • 1209 次点击  

我需要做的是,当用户从下拉列表中选择一个类别时,它会自动选中复选框。

复选框值的下拉选项值将相同

例如:(大约有50个类别——但为了简单起见,我在示例中展示了2个)

Select Main Category
      
        <select class="select enhanced" name="enhanced" id="enhanced">
            <option value="none" data-price="0">Select your answer</option>
            <option class="maincats" data-price="24" name="maincat" value="Accountancy and VAT Information"> Accountancy and VAT Information</option>
            <option class="maincats" data-price="24" name="maincat" value="Business Development"> Business Development</option>
        </select>
             
 
Select additional categories<BR>      
        <input type="checkbox" class="enhancedcats" data-price="24" name="checkbox_enhnaced[]" value="Accountancy and VAT Information"> Accountancy and VAT Information £24.00<br>
        <input type="checkbox" class="enhancedcats" data-price="24" name="checkbox_enhnaced[]" value="Business Development"> Business Development £24.00<br>

因此,如果您在下拉列表(选择)中选择“会计和增值税信息”,则会计和增值税信息的复选框应自动选中

我尝试了以下方法,但没有成功

$(document).ready(function() {
$('#enhanced').change(function() { 
  let selectedValAw = $(this).find('option:selected').val();
   let isACheckedd = $(this).prop("checked");
   $(`.enhancedcats[value=${selectedValAw}]`).prop("checked", isACheckedd);
    });
    });

我还尝试了以下内容(但这段代码只是检查了所有内容)

$('#enhanced').change(function() { 
  
  let selection = $(this).find('option:selected').attr('data-capacity')
   let isAChecked = $(this).prop("checked");
 // alert(selection);
$(":checkbox[value=[selection]]").attr("checked","true");

    });

有人能帮忙吗

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132114
 
1209 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Tom
Reply   •   1 楼
Tom    3 年前

我更新了你的第一个解决方案,你忘记了所选值周围的引号。

什么时候做 let isACheckedd = $(this).prop("checked"); 你在检查房子 checked 关于 select 元素,该值为false。

$('#enhanced').change(function() { 
  let selectedValAw = $(this).find('option:selected').val();
  $(".enhancedcats:checked").prop("checked", false);//Remove this line if you don't want to uncheck all checkboxes
  $(`.enhancedcats[value="${selectedValAw}"]`).prop("checked", true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Select Main Category
      
        <select class="select enhanced" name="enhanced" id="enhanced">
            <option value="none" data-price="0">Select your answer</option>
            <option class="maincats" data-price="24" name="maincat" value="Accountancy and VAT Information"> Accountancy and VAT Information</option>
            <option class="maincats" data-price="24" name="maincat" value="Business Development"> Business Development</option>
        </select>
             
 
Select additional categories<BR>      
        <input type="checkbox" class="enhancedcats" data-price="24" name="checkbox_enhnaced[]" value="Accountancy and VAT Information"> Accountancy and VAT Information £24.00<br>
        <input type="checkbox" class="enhancedcats" data-price="24" name="checkbox_enhnaced[]" value="Business Development"> Business Development £24.00<br>