jQuery:如何在不复制选择列表的情况下,通过单击单选按钮在选择列表的选项中切换选择属性?

jQuery:如何在不复制选择列表的情况下,通过单击单选按钮在选择列表的选项中切换选择属性?,jquery,Jquery,我有一个关于选择列表和所选属性的问题。我已经做了一些研究,但还没有找到一个有效的解决方案,所以我请各位提供意见,并提前向你们表示感谢 事情是这样的。当我单击两个单选按钮之一时,我希望该选择允许我更改选项标记中选定属性的位置。我需要它从: <option value="_blank">Blank</option> 为清晰起见进行了编辑。只需使用选择的.val方法并为其赋值,它将根据jquery网站上的文档自动为您选择/取消选择选项。选择中只有两个单选按钮,但有4个选项。

我有一个关于选择列表和所选属性的问题。我已经做了一些研究,但还没有找到一个有效的解决方案,所以我请各位提供意见,并提前向你们表示感谢

事情是这样的。当我单击两个单选按钮之一时,我希望该选择允许我更改选项标记中选定属性的位置。我需要它从:

<option value="_blank">Blank</option> 

为清晰起见进行了编辑。

只需使用选择的.val方法并为其赋值,它将根据jquery网站上的文档自动为您选择/取消选择选项。

选择中只有两个单选按钮,但有4个选项。基本上,您需要将选项的值存储在单选按钮的数据属性中。下面的代码应该可以帮助您开始:

HTML


试试看,如果你需要额外的指导,请告诉我。

嘿!谢谢你的回复。这不是我的目标。我想让下拉列表中的选项选择属性,我不想更改值。哦,等等,我现在明白你的意思了。嗯,我喜欢看那盏灯亮着我今晚过得很愉快。下面麦考伊给出的例子就是你想要的。将相关的选择选项存储在收音机的数据标签中,或者在单击处理程序中使用开关语句。非常感谢!我一会儿就试试看!McCoy先生提出了一个正确的观点,你有两个单选按钮,但有4个选项…我们需要更好的解释,如何输入2个收音机将其输出加倍,以控制4个选项。我真的认为这不是一个问题!谢谢你指出这一点。我甚至不确定它一开始是否有四种选择。但不管怎样,我认为抓取数据属性都是一个好方法。一切就绪!对于其他人:在$link-target.valselectValue.change之后;我能够添加一个if语句,检查目标值,然后通过执行$'select'.val''u self'将所选属性分配给我想要的选项
<option value="_self" selected>Self</option> 
<div class="form-group">
   <label for="link_source" class="generic-form__label">Link Source</label>
   <label class="radio"><input type="radio" name="link_source" value="internal" data-target="internal" checked> Internal</label>
   <label class="radio"><input type="radio" name="link_source" value="external" data-target="external"> External</label>
</div>

<div class="group">
  <label for="link-target" class="label">Link Target</label>
  <select name="link_target" id="link-target" class="input">
    <option value="_blank">Blank</option>
    <option value="_parent">Parent</option>
    <option value="_self">Self</option>
    <option value="_top">Top</option>
   </select>
</div>
if (target === 'external') {
    $('select option[value="_blank"]').attr('selected', 'selected');
     console.log('it found ' + target)
     if (target !== 'interal') {
        $('select option[value="_blank"]').removeAttr('selected', 'selected');
     }
  }
  else if (target === 'internal'){
    $('select option[value="_self"]').attr('selected', 'selected');
    if (target !== 'external') {
        $('select option[value="_blank"]').removeAttr('selected', 'selected');
     }
    console.log('it found ' + target)
  }
<label class="radio"><input type="radio" name="link_source" value="internal" data-target="_self" checked> Internal</label>
<label class="radio"><input type="radio" name="link_source" value="external" data-target="_blank"> External</label>
$('input[type=radio][name=link_source]').on('change', function() {
  var selectValue = $(this).data('target');
  $('#link-target').val(selectValue).change();
});