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

标签 javascript jquery html forms dynamic

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

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

我已经知道了,所以按钮从第一次点击时就收到了 ID,但是如果我尝试选择不同的地址,ID 将不会切换。如何让按钮使用最近选择的 radio 输入的 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);
    });

场景:用户点击地址 1,然后 ID 被放置在地址 1 的按钮上。用户犯了一个错误,本意是点击地址 2。目前当我点击地址 2 时,按钮上的 ID 没有改变。它与原始点击保持相同。

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

最佳答案

因为id是唯一的使用类

$('*[data-js]').click(function () {
    var addrButton = $('.address-continue');
    addrButton.removeClass(test123);
    addrButton.removeClass(test124);
    radioID = $('*[data-js]').attr('id');
    addrButton.addClass(radioID);
});

另外你的基本问题可能是因为你没有在你的 radio 功能中收集你的 radioID 因此它没有更新所以试试这个

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

关于javascript - 将 ID 添加到按钮,但必须根据 radio 输入选择进行更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26516718/

相关文章:

javascript - 有条件去抖,取决于 event.keyCode

javascript - 在 Javascript 中禁用除 Enter 之外的所有键

javascript - 字符串编码器固定大小输出

html - 为什么打印我的网页会使弹出窗口透明?

html - Angular Material 导航栏不工作

javascript - jQuery 销毁/禁用/触发一次路点

java - 如何对长文本帖子进行分页

javascript - 在与加载的数组不同的数组中查找索引

javascript - jQuery Ajax : VM845:1 Uncaught SyntaxError: Unexpected token <

javascript - 如何在 JavaScript 中使用 concat() 方法在字符串之间留出空格