当前位置: 代码迷 >> JavaScript >> 仅在选择下拉列表元素时检查单选按钮
  详细解决方案

仅在选择下拉列表元素时检查单选按钮

热度:100   发布时间:2023-06-07 15:55:37.0

我有这个jquery来检查页面加载时的单选按钮:

$('input[value="modelos"]').attr('checked',true);

然后我有一个下拉列表:

<select id="talents_meta_category" name="talents_meta_category">
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463">Música</option>
</select>

如果<option value="tab_1495127126289">Modelos</option>时,如何检查input[value="modelos"]

您可以通过测试select的value属性来检查是否有选项

  $(function(){ if($('#talents_meta_category').val()){ $('input[name="favorites"][value="modelos2"]').attr('checked',true); } }) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="talents_meta_category" name="talents_meta_category"> <option value=""></option> <option value="tab_1495127126289">Modelos</option> <option value="tab_1495132259463" selected>Música</option> </select> <label for="modelos"><input type="radio" name="favorites" value="modelos"></label> <label for="modelos"><input type="radio" name="favorites" value="modelos2"></label> 

你可以尝试这个,但我必须在菜单中添加一个空白选项,但如果这是不可接受的让我知道,我会做其他事情。

 $("select#talents_meta_category").change(function () { if ($(this).val() === "tab_1495127126289") { $('input[value="modelos"]').attr('checked',true); } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <select id="talents_meta_category" name="talents_meta_category"> <option></option> <option value="tab_1495127126289">Modelos</option> <option value="tab_1495132259463">Música</option> </select> <input type="radio" value="modelos"> 

您可以使用onchange功能。

  $("#talents_meta_category").on('change',function(){
           let value = $(this).children("option:selected").val();
          if(value=="tab_1495127126289"){
              $('input[value="modelos"]').attr('checked',true);
          }else{
       $('input[value="modelos"]').attr('checked',false);
           }
       });

如果是这样的话你需要改变条件:

 $("select#talents_meta_category").change(function () { if ($(this).val() === "tab_1495127126289") { $('input[value="modelos"]').attr('checked',true); }else{ $('input[value="modelos"]').attr('checked',false); } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="talents_meta_category" name="talents_meta_category"> <option value="">Please Select</option> <option value="tab_1495127126289">Modelos</option> <option value="tab_1495132259463">Música</option> </select> </br> <input type="checkbox" name="modelos 1" value="modelos"> modelos 1<br> <input type="checkbox" name="modelos 2" value="modelos"> modelos 2<br> <input type="checkbox" name="modelos 3" value="modelos"> modelos 3<br> 

复选框根据条件动态更改(选择选项值)

像这样的东西应该做的伎俩:

 // Your check the radio on page load $('input[value="modelos"]').attr('checked', true); // Check if `modelos` is selected if ($('input[value="modelos"]').prop('checked')) { // Add the `selected` attribute to the <option /> $('option[value="tab_1495127126289"]').attr('selected', true); } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type='radio' value='modelos' /> <select id="talents_meta_category" name="talents_meta_category"> <option value="tab_1495127126289">Modelos</option> <option value="tab_1495132259463">Música</option> </select> 

希望这可以帮助,

你可以做很多不同的方式,这里只有一个....

var checkMe = 'tab_1495127126289';

$(function(){
    $('input[name=talents_meta_category][value=' + checkMe + ']').prop('checked',true)
});
  相关解决方案