【问题标题】:Dynamically check a radiobutton using jquery使用 jquery 动态检查单选按钮
【发布时间】:2021-11-27 17:20:12
【问题描述】:

我有一个 div,它有一个用于动态创建单选按钮的输入,默认情况下我需要检查一个值。我为所有单选按钮使用了唯一的名称,并使用 document.querySelector 结合名称和值来选择它们

【问题讨论】:

    标签: jquery


    【解决方案1】:

    Template literals 会帮助你。

    逻辑

    • 使用可用选项呈现单选按钮。
    • 在更改下拉列表时更新单选按钮的 checked 属性,方法是使用正确的属性选择它们。

    我为所有单选按钮使用了一个唯一的名称,并使用document.querySelector 结合namevalue 选择它们

    工作小提琴

    $(document).ready(function () {
      const genders = ['Male', 'Female', 'None'];
      let template = '';
      genders.forEach((gender) => {
        template += `
          <div>
            <input id="${gender}_Gender" 
              class="htmlControl"
              type="radio" 
                ${gender === "None" ? 'checked' : ''}
                name = "gender_selection_radio" 
                value="${gender}">
                <label for="${gender}_Gender_${gender}" class="form_label"> ${gender}</label>
          </div>`
      });
      $("#ddContainer").html(template);
    });
    function updateRadioSelection() {
      const selectedValue = document.getElementById("genderSelector").value;
      if (selectedValue) {
        document.querySelector(`input[name='gender_selection_radio'][value=${selectedValue}]`).checked = true;
      }
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <div id="ddContainer"></div>
    <select name="" id="genderSelector" onchange="updateRadioSelection()">
      <option value="">Please Select</option>
      <option value="Male">Male</option>
      <option value="Female">Female</option>
      <option value="None">None</option>
    </select>

    【讨论】:

    • 请根据您的要求发布一个工作代码 sn-p,以便我调查。
    • @testusernewn 您不能简单地使用input:radio:first 选择输入。这将始终只返回第一个元素。相反,您可以使用 input:radio:[value='None'] 之类的值来选择它们
    • None 的值是否始终为value="1"? tis映射的逻辑是什么?
    • 如果文本内容为None always,则可以使用文本内容进行选择
    • 请用正确的数据发布一个工作小提琴。如果您不提供真实场景中的工作小提琴,则无法解决此问题。
    猜你喜欢
    • 2020-04-10
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多