javascript - 更改选择时,如果下拉列表中的项目具有相同的值,请选中复选框

标签 javascript jquery

我正在从复选框中创建一个动态下拉列表。我想要的是当下拉列表更改时(选择时)我希望它检查具有相同值或可能具有相同名称的复选框?我也希望反之亦然,如果您选中复选框,选择下拉列表也应该改变。

这是我的代码笔 - http://codepen.io/BryanBarrera/pen/QEXVxY

我在写这篇文章时遇到问题。这是我所拥有的。对此最好的方法是什么?如何匹配元素来更改或选中复选框

任何想法或建议将不胜感激

"use strict";

var checkBoxes = $('.form-item'),
    checkBox = $('input[type="checkbox"]'),
    $select = $('<select></select>').appendTo('body').wrap('<div class="select-dropdown"></div>');

checkBoxes.each(function (n) {
    var dataText = $(this).find('label').text();
    var dataValue = $(this).find('input').val();
    $select.append('<option value="' + dataValue + '">' + dataText + '</option>');
});


$select.on('change', function(){

  var checkboxvalue =  $(this).val();

  var a =  $(this).filter(function(){return this.value=='checkboxvalue'});

  console.log(a);
  console.log(checkboxvalue);

  if (checkboxvalue == $(this).val() ) {
   // alert('yup');
  }
});

最佳答案

这就能解决问题:

$select.on('change', function(){

  var checkboxvalue =  $(this).val();
  $('input[value='+checkboxvalue+']').prop('checked', true);

});

checkBox.on('change', function(){

  var selectValue =  $(this).val();
  $select.val(selectValue)

});

您可能需要一些其他函数来处理多项选择,因为您的下拉列表显然不支持像复选框这样的多项选择。

<小时/>

<强> Example

关于javascript - 更改选择时,如果下拉列表中的项目具有相同的值,请选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39153378/

相关文章:

javascript - Node JS 缩小

javascript - 对当前不可见的图层禁用 WMSGetFeatureInfo

javascript - jQuery Slidetoggle + 旋转

单击 Javascript - 函数的两个部分,但一次只能工作一个

javascript - 为同一页面上的两个独立画廊使用灯箱画廊代码?

javascript - 将 MONGO 中的 JSON 包含到 HTML 中时出现 500 ReferenceError

javascript - ASP.NET WebForm 中的 jQueryMobile

jquery - jQuery 真正支持哪些 CSS3 选择器,例如:nth-last-child()?

jquery - 当元素 find() 时更改 DIV CSS

javascript - 在保留时区的 Javascript 中更改日期字符串