编辑以添加 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/