选择同一班级更改时检查输入

时间:2017-04-18 10:12:50

标签: jquery html

我实际上有这个代码,但我不想为每个选择编写它(因为我有超过10个选择,它会随着时间而改变)。

$('select.myClass').on('change', function() {
  $('input.myClass').prop('checked', true);
});

是否可以使用&#34之类的东西做得更好;如果更改了选项,请使用与更改的选项相同的类检查输入"?

Codepen更新了sojtin

的答案

https://codepen.io/Qasph/pen/pPjrpx

5 个答案:

答案 0 :(得分:2)

请在 IonicModule.forRoot(MyApp, {}, { links: [ { component: SubscribeChannelPage, name: 'subscribe', segment: 'subscribe/:channelId' }, ] }), change获取所选值的下方代码段中找到select与所选值相同的复选框

class
$('.'+ $('.level').val()).prop('checked', true);
$('.level').on('change', function() {
$(".common").prop('checked',false);
  $('.'+ $(this).val()).prop('checked', true);
});

答案 1 :(得分:2)

如果您选择单一课程,请尝试以下方法:

$('select').on('change', function() {
  $('input.'+$(this).prop('class')).prop('checked', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
  <input class="level" type="checkbox">This is
</label>
<select class="level">
  <option>easy</option>
  <option>hard</option>
  <option>impossible</option>
</select>

<label>
  <input class="asdfasdf" type="checkbox">This is
</label>
<select class="asdfasdf">
  <option>easy</option>
  <option>hard</option>
  <option>impossible</option>
</select>

答案 2 :(得分:2)

请针对您当前的情况尝试此操作

$('select').change(function(){
  var target = $(this).attr('class');
  $('input.'+target).prop('checked', true);
});

我建议使用上述代码向目标添加具有相同值的ID,并将其更改为

$('select').change(function(){
  var target = $(this).attr('id');
  $('input.'+target).prop('checked', true);
});

答案 3 :(得分:2)

只需使用select selector on change,您就可以获取当前元素的类名,并像这样连接$('input.'+class_val)来检查同一个类复选框

&#13;
&#13;
$('select').on('change', function() {
  
class_val =  $(this).attr('class');
  $('input.'+class_val).prop('checked', true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
  <input class="level" type="checkbox">This is
</label>
<select class="level">
 <option>select</option>
  <option>easy</option>
  <option>hard</option>
  <option>impossible</option>
</select>

<label>
  <input class="level1" type="checkbox">This is
</label>
<select class="level1">
  <option>select</option>
  <option>easy1</option>
  <option>hard1</option>
  <option>impossible1</option>
</select>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您可以在外div打包输入,使用closest("div")找到他并在内搜索input.level,请参阅Codepen:https://codepen.io/anon/pen/YVyxgZ。基于这个SO问题:Find element within parent container with jQuery。使用此解决方案,您可以使用相同的CSS类进行多次选择 - 它们更容易设置样式。