Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重复的id,使用jquery的名称_Javascript_Jquery_Html - Fatal编程技术网

Javascript 重复的id,使用jquery的名称

Javascript 重复的id,使用jquery的名称,javascript,jquery,html,Javascript,Jquery,Html,我有HTML代码,我想多次克隆这些字段,用不同id的标记元素,怎么办?我试图克隆,但无法更改id。我的HTML代码为 <div class="adlthd">Number of Adults & child</div> <div id='formrepeat' class="ratediv"> <div class="Paxtbl" id="Paxtblid"> <p></p><P&g

我有HTML代码,我想多次克隆这些字段,用不同id的标记元素,怎么办?我试图克隆,但无法更改id。我的HTML代码为

<div class="adlthd">Number of Adults & child</div>
  <div id='formrepeat' class="ratediv">    
   <div class="Paxtbl" id="Paxtblid">
    <p></p><P>1</P><P>2</P><P>3</P><P>4</P><P>5</P><P>6</P><P>7</P><P>8</P><P>9</P>
     <div class="clear" id="snRates">
       <P>Season 1</P>
       <P><input type="text" class="inb4 itx validate[required,custom[number]]" name="1adult" id="1adultn1" onchange="convertToFloat(this)"></P>
       <P><input type="text" class="inb4 itx validate[required,custom[number]]" name="2adult" id="1adultn2" onchange="convertToFloat(this)"></P>
       <P><input type="text" class="inb4 itx validate[required,custom[number]]" name="3adult" id="1adultn3" onchange="convertToFloat(this)"></P>
     </div>
   </div>
</div>`
成人和儿童人数
1

2

3

4

5

6

7

8

9

第一季

`
我的JavaScript是

<script type="text/javascript">
    $(document).ready(function() {
    $('#mybutton').change(function(){
        var total = $(this).val();
        var newNum  = new Number(total + 1);
        div_rate =$('.ratediv').length;
        if(div_rate>total)
        {
          for(div_rate; total<div_rate;div_rate--)
          {
            $('#Paxtblid').remove();
          }
        }else{
          for(div_rate;div_rate<total;div_rate++)
        {
            $('#Paxtblid').clone().appendTo('#formrepeat');
        }
      }        
    });
});
</script>

$(文档).ready(函数(){
$('#mybutton')。更改(函数(){
var total=$(this.val();
var newNum=新编号(总数+1);
div_rate=$('.ratediv').length;
如果(股息率>总额)
{

对于(div_rate;total如何将所需的
div
克隆到另一个隐藏的
div
,然后从那里操作
id
,并附加到所需的位置

<div id="form1"></div>
您可以根据需要更改
id

这是您的地址。
这就是我所能想到的,我无法得到一个直接的解决方案。不过可能还有其他的可能性

好的,我得到了一个更好的解决方案。您可以使用,从而消除了上述解决方案中提到的隐藏div的必要性:

  var number = 1 + Math.floor(Math.random() * 6);
    $('#Paxtblid').clone().appendTo('#formrepeat');
     $('#formrepeat .Paxtbl:last').find("input").each(function() {
        var randnumber=number++;
        var id="1adult"+randnumber;
        $(this).attr("id",id);
    });

这是.

$('#Paxtblid').clone().appendTo('#formrepeat');
这里没有尝试更改is。您是否尝试过类似于
$('#Paxtblid').clone().attr('id',Paxtblid#u clone'+div rate.)的方法;
?@GolezTrol是的,我试过了,但它并没有改变标签的id。我只需要改变标签的id。像1 Dult1 1 Dult2,1 Dult3当我克隆时,id应该像1 Dult11或smthng;请注意id不能以数字开头,所以
1 Dult1
是无效的id(css选择器不能基于这样一个无效的id设置样式)。尽管javascript和jQuery仍然可以选择它。@KingKing:请看它的说明:“以前的HTML版本对id值的内容有更大的限制(例如,它们不允许id值以数字开头)”.HTML5允许ID以数字开头。@ABHITALK对此不确定,我指的是CSS3的工作,而不是HTML5。好的,我找到了一个更好的解决方案。
  var number = 1 + Math.floor(Math.random() * 6);
    $('#Paxtblid').clone().appendTo('#formrepeat');
     $('#formrepeat .Paxtbl:last').find("input").each(function() {
        var randnumber=number++;
        var id="1adult"+randnumber;
        $(this).attr("id",id);
    });