【问题标题】:Input radio add name in the class在类中输入radio添加名称
【发布时间】:2017-03-27 19:42:01
【问题描述】:
<div typ="elementRadio" class="element elementRadio">
<input type="radio">
<input type="radio">
<input type="radio">
</div>

<div typ="elementRadio" class="element elementRadio">
<input type="radio">
<input type="radio">
<input type="radio">
</div>

.................
<div typ="elementRadio" class="element elementRadio">
<input type="radio">
<input type="radio">
<input type="radio">
</div>

他们需要添加一个随机名称输入。这样无线电输入在每个类中都有不同的名称。

我的代码

   $('.elementRadio input:radio').each(function () {
       $( "input:radio" ).attr( "name", "name1" );
       alert($( "input:radio" ).attr( "name"));
    });

全名

【问题讨论】:

  • 如何生成单选按钮?你不能在那个时候在源中输入一个名字吗?
  • 我永远不会知道确切的数字输入。一切都是随机的
  • 我不是这个意思。我在问你如何为这些单选按钮创建 HTML?此时将name 属性添加到它们会容易得多。你似乎也没有给任何电台value,所以他们的目的有点多余
  • @MartinCaruk 如果我理解正确,您正在寻找的是一种循环包装器 (.elementRadio) 并将名称添加到 input 的方法。我说的对吗?
  • @Rajesh 我需要
    Atd ......

标签: javascript jquery html radio attr


【解决方案1】:

您应该遍历.elementRadio,然后将名称添加到input:radio

您可以使用index 来计算唯一名称。

$('.elementRadio').each(function(i) {
  $(this).find('input:radio').attr("name", "name"+ (i+1));
  console.log($(this).find('input:radio').attr("name"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div typ="elementRadio" class="element elementRadio">
  <input type="radio">
  <input type="radio">
  <input type="radio">
</div>

<div typ="elementRadio" class="element elementRadio">
  <input type="radio">
  <input type="radio">
  <input type="radio">
</div>

.................
<div typ="elementRadio" class="element elementRadio">
  <input type="radio">
  <input type="radio">
  <input type="radio">
</div>

【讨论】:

  • 干得好这是完美的:)
  • 您还应该建议从div.element.elementRadio 中删除typ="elementRadio"
  • 不过,这超出了这个问题的范围,你是对的。我会把它留给 OP(@MartinCaruk) 来纠正它。谢谢。
【解决方案2】:

看看这个。 我已经为每个无线电组进行了第一次迭代,然后将每个无线电输入设置在同名的组中。我还以数组格式命名,以便您可以获取数组中的数据。 希望这对你有用

$('.elementRadio').each(function (i) {
        var name = "name["+(i+1)+"]";
        $(this).find("input:radio").attr( "name", name );
            console.log(name );
        
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
</div>

<div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
</div>

.................
<div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
</div>

【讨论】:

    【解决方案3】:

    您可以遍历所有.element.elementRadio 元素并使用indexjQuery.each()

    还要检查您是否必须在 div 中更正 typ="elementRadio"

    代码:

    $('.element.elementRadio').each(function (index) {
      $(this).find('input:radio').attr('name', 'name_' + index);
    
      // Console log: names
      console.log($(this).find('input:radio').attr('name'));
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="element elementRadio">
      <input type="radio">
      <input type="radio">
      <input type="radio">
    </div>
    
    <div class="element elementRadio">
      <input type="radio">
      <input type="radio">
      <input type="radio">
    </div>
    
    <div class="element elementRadio">
      <input type="radio">
      <input type="radio">
      <input type="radio">
    </div>

    【讨论】:

    • 每组三台收音机的名称应相同,否则每台都可以选择。
    • 希望您的评论得到答复
    • 我们的答案现在是一样的,但是当我回答时,它们是不同的,而您的编辑使它们相似。我也不明白这个问题的原因,但还是想澄清一下。
    【解决方案4】:

    尝试每个无线电输入的随机name

    var count =1;
       $('.elementRadio input:radio').each(function (a) {
           if(a== 3)
             {   count=2; }
         else if(a == 6){count=3}
         $(this).attr( "name", "name"+count );
          console.log($(this).attr( "name"));
       
        });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
    </div>
    
    <div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
    </div>
    
    .................
    <div typ="elementRadio" class="element elementRadio">
    <input type="radio">
    <input type="radio">
    <input type="radio">
    </div>

    【讨论】:

    • 每组三台收音机的名称应相同,否则每台都可以选择。
    • 这是可行的,虽然它很可怕。请参阅@Rajesh 的答案以获得更好的实施
    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 2012-09-04
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2018-10-11
    相关资源
    最近更新 更多