Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 如何使用jquery更改克隆下拉列表的ID_Javascript_Jquery_Html_Clone - Fatal编程技术网

Javascript 如何使用jquery更改克隆下拉列表的ID

Javascript 如何使用jquery更改克隆下拉列表的ID,javascript,jquery,html,clone,Javascript,Jquery,Html,Clone,我有以下php下拉列表: <select id="choice" name="choice" style="width: 121px"> <?php foreach($xml->children() as $pizza){ ?> <option value="<?php echo $pizza; ?>" selected=""><?php echo $pizza; ?></option>

我有以下php下拉列表:

<select id="choice" name="choice" style="width: 121px">
    <?php 
    foreach($xml->children() as $pizza){
    ?>
    <option value="<?php echo $pizza; ?>" selected=""><?php echo $pizza; ?></option>
    <?php }?>
</select><input TYPE = "button" id="addbt" Name = "addbt" VALUE = "Add Pizza">

<> P>为确保每次获得新的名称和ID,请考虑将类名称添加到SELECT中,这样您就可以计算存在多少个。p>
HTML:

否则,跟踪使用全局变量(ugh)或数据属性单击按钮的次数

<> P>为确保每次获得新的名称和ID,请考虑将类名称添加到SELECT中,这样您就可以计算存在多少个。p> HTML:


否则,请跟踪使用全局变量(ugh)或数据属性单击按钮的次数。

在插入之前,可以使用jQuery
attr()方法更改id:

<script type="text/javascript">

    $("#addbt").click(function () {
        $('#choice').clone().attr('id','Your new id').insertAfter("#choice");
    });

</script>

$(“#添加BT”)。单击(函数(){
$('choice').clone().attr('id','Your new id').insertAfter('choice');
});

在插入id之前,可以使用jQuery
attr()方法更改id:

<script type="text/javascript">

    $("#addbt").click(function () {
        $('#choice').clone().attr('id','Your new id').insertAfter("#choice");
    });

</script>

$(“#添加BT”)。单击(函数(){
$('choice').clone().attr('id','Your new id').insertAfter('choice');
});

使用此代码,您可以按任意次数按下按钮:

<script type="text/javascript">

  var times = 0;
  $("#addbt").click(function () {
    times++;
    $('#choice').clone().attr( 'id', 'choices_' + times ).insertAfter("#choice");
  });

</script>

var时间=0;
$(“#添加BT”)。单击(函数(){
时代++;
$('choice').clone().attr('id','choices'+times).insertAfter('choice');
});

使用此代码,您可以按任意次数按下按钮:

<script type="text/javascript">

  var times = 0;
  $("#addbt").click(function () {
    times++;
    $('#choice').clone().attr( 'id', 'choices_' + times ).insertAfter("#choice");
  });

</script>

var时间=0;
$(“#添加BT”)。单击(函数(){
时代++;
$('choice').clone().attr('id','choices'+times).insertAfter('choice');
});

我想你想要的是:


我想你是在追求这个:


是的,但它不会改变所有新的名字。我需要,如果我点击添加按钮10次,将有11个不同的ID(10个新的加上原来的)。真棒:)。非常感谢。我今天和昨天一直在努力解决这个问题,结果我绝望了。幸运的是,我找到了斯塔克镇。再次感谢@Ryanmarkcamileri很高兴,欢迎来到SO。别忘了更新投票并标记为正确。是的,但它不会改变所有新投票的名称。我需要,如果我点击添加按钮10次,将有11个不同的ID(10个新的加上原来的)。真棒:)。非常感谢。我今天和昨天一直在努力解决这个问题,结果我绝望了。幸运的是,我找到了斯塔克镇。再次感谢@Ryanmarkcamileri很高兴,欢迎来到SO。别忘了更新投票并标记为正确。是的,但它不会改变所有新投票的名称。我需要知道,如果我点击“添加”按钮10次,将会有11个不同的ID(10个新ID加上原始ID)。@Jai:我想我们是在同一时间输入的,我只是花了更长的时间。看起来这个问题现在已经被回答了。是的,但它并没有改变所有新问题的名称。我需要知道,如果我点击“添加”按钮10次,将会有11个不同的ID(10个新ID加上原始ID)。@Jai:我想我们是在同一时间输入的,我只是花了更长的时间。看起来问题现在已经回答了。谢谢:)看起来已经好多了。有没有办法知道这些数字?像#Choices_00、#Choices_01、#Choices_02等等?你可以声明一个变量:
var times=0然后使用,而不是日期部分。不要忘了增加click事件中变量的值。它是:
$('#choice').clone().attr('id','choices'+times).insertAfter('choice')。我不建议使用全局变量,但它会起作用。@Jai-answer好多了,看看它。谢谢:)看起来已经好多了。有没有办法知道这些数字?像#Choices_00、#Choices_01、#Choices_02等等?你可以声明一个变量:
var times=0然后使用,而不是日期部分。不要忘了增加click事件中变量的值。它是:
$('#choice').clone().attr('id','choices'+times).insertAfter('choice')。我不建议使用全局变量,但它会起作用。@Jai-answer更好,看看它。
$(this).index()
不是一个好的解决方案。如果将更多元素添加到同一个父级中会怎么样?
$(this).index()
不是一个好的解决方案。如果将更多元素添加到同一父级,会怎么样?
<script type="text/javascript">

    $("#addbt").click(function () {
        $('#choice').clone().attr('id','Your new id').insertAfter("#choice");
    });

</script>
<script type="text/javascript">

  var times = 0;
  $("#addbt").click(function () {
    times++;
    $('#choice').clone().attr( 'id', 'choices_' + times ).insertAfter("#choice");
  });

</script>
$("#addbt").click(function () {
    $('#choice').clone().attr( 'id', 'choices_' +$(this).index()).insertAfter("#choice");
});