Javascript 如何使用jquery更改克隆下拉列表的ID
我有以下php下拉列表: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>
<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)或数据属性单击按钮的次数。在插入之前,可以使用jQueryattr()方法更改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之前,可以使用jQueryattr()方法更改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");
});