Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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添加到按钮,但必须根据单选输入选择进行更改_Javascript_Jquery_Html_Forms_Dynamic - Fatal编程技术网

Javascript 将ID添加到按钮,但必须根据单选输入选择进行更改

Javascript 将ID添加到按钮,但必须根据单选输入选择进行更改,javascript,jquery,html,forms,dynamic,Javascript,Jquery,Html,Forms,Dynamic,编辑以添加HTML:不完全相同,因为我不在办公室了,但你会明白的 这个场景是我有一个网站的一部分,用户可以从他们保存的多个地址中选择一个。为每个地址生成ID,我需要将该ID应用于按钮以提交表单 我得到了它,所以按钮从第一次点击时就收到了ID,但是如果我尝试选择一个不同的地址,ID将不会切换。如何让按钮使用最近选择的收音机输入的ID?我正在使用一个数据属性来选择这个 HTML: <div> <form> <input type="radio" data-js

编辑以添加HTML:不完全相同,因为我不在办公室了,但你会明白的

这个场景是我有一个网站的一部分,用户可以从他们保存的多个地址中选择一个。为每个地址生成ID,我需要将该ID应用于按钮以提交表单

我得到了它,所以按钮从第一次点击时就收到了ID,但是如果我尝试选择一个不同的地址,ID将不会切换。如何让按钮使用最近选择的收音机输入的ID?我正在使用一个数据属性来选择这个

HTML:
<div>
 <form>
    <input type="radio" data-js="select" id="Test123" /> (id created dynamically)
    <label>Address 1</label>
    <input type="radio" dat-js="select" id="Test124" /> (id created dynamically)
    <label>Address 2</label>
</form>
</div>

<button class="address-continue">Continue</button>

var radioID = $('*[data-js]').attr('id');
var addrContinue = $('.address-continue');

$('*[data-js]').click(function () {
        $(addrContinue).attr('id', radioID);
    });
HTML:
(动态创建的id)
地址1
(动态创建的id)
地址2
继续
var radioID=$('*[datajs]').attr('id');
var addrContinue=$('.address continue');
$('*[data js]')。单击(函数(){
$(addrContinue).attr('id',radioID);
});
场景:用户单击地址1,然后将ID放置在地址1的按钮上。用户犯了一个错误,打算点击地址2。当前,当我单击地址2时,按钮上的ID没有改变。它与原始单击保持相同


我需要根据正确的单选按钮更改“继续”按钮上的ID。

以下内容可以帮助您更改,希望相应的元素顺序相同:

$('[data-js]').on('change',function() {
  $('.address-continue').data('id', this.id);
});
$('.address-continue').on('click',function() {
  alert( $(this).data('id') );
});
不能将文档中的第二个元素的id分配给另一个元素。ID应该是唯一的;因此,我使用了
数据id

$('[data js]')。在('change',function()上{
$('.address continue').data('id',this.id);
});
$('address continue')。在('click',function()上{
警报($(this.data('id'));
});

(动态创建的id)
地址1
(动态创建的id)
地址2

继续
,因为id是唯一的使用类

$('*[data-js]').click(function () {
    var addrButton = $('.address-continue');
    addrButton.removeClass(test123);
    addrButton.removeClass(test124);
    radioID = $('*[data-js]').attr('id');
    addrButton.addClass(radioID);
});
另外,您的基本问题可能是因为您没有在您的无线电功能中收集您的放射性ID,因此它没有更新,所以请尝试此方法

$('*[data-js]').click(function () {
    var radioID = $('*[data-js]').attr('id');
    $(addrContinue).attr('id', radioID);
});

你能分享一个相关标记(HTML)的示例吗?当然可以。看起来是这样的(对不起,我不在办公室了)。你到底想做什么?由于无法复制id,因此可以使用
数据id
。将id复制到按钮后,您希望如何处理它?我需要能够选择一个地址,将该id附加到“继续”按钮,以便向前移动。但是,我需要它在用户意外单击错误地址的情况下工作。无论他们选择哪个地址(单选按钮),继续按钮都会抓取正确的ID。目前,它会抓取您选择的第一个ID,并且永远不会更改。您的html中有一个输入错误,这导致选择器无法工作。在第二个
收音机中,您有
dat js
而不是
data js
。代码
片段
应该可以正常工作。让我知道。