因此,目前我有一張卡片,其中有一些單選按鈕的名稱為 =“radio-0”,當我克隆該卡片時,我希望將所有單選按鈕更改為 name="radio-1" 例如
我做了一個函式,可以從元素中獲取最后一個子元素,但它不起作用,只能運行一次。
我的小提琴https://jsfiddle.net/abdotamer3/s57jauxw/22/
我的功能:
function nameRadioButtons(clone, radioButtons) {
var allQuestions = clone.querySelector(".radioItemToggle:last-child");
var radioID = allQuestions.getAttribute("name").split("-")[1];
console.log(radioID)
radioButtons.forEach((element, index) => {
radioID = 1
element.setAttribute("name", "radio-" radioID.toString());
});
}
我的克隆功能:
function cloneQuestion() {
var question = document.querySelector(".questions");
var clone = $(question).clone(true, true).get(0);
var numItems = $(".questions").closest(".radioListItemPrimaryContent").length;
var radioButtons = question.querySelectorAll(".radioItemToggle");
console.log(numItems);
nameRadioButtons(clone, radioButtons);
clone.querySelector(".questionMainTextArea").value = "Untitled Question";
var addBtn = document.querySelector(".addQuestionBtnRow");
var tbody = addBtn.parentNode;
tbody.insertBefore(clone, addBtn);
}
uj5u.com熱心網友回復:
創建一個全域變數來存盤當前最大的問題索引,并在每次設定新名稱之前對其加1。
let radioGroupIndex = 0
function nameRadioButtons(clone) {
radioGroupIndex
clone.querySelectorAll('input[type=radio]').forEach(_radio => {
_radio.setAttribute('name', `radio-${radioGroupIndex}`)
})
}
https://jsfiddle.net/suvfg1o9
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/339753.html
標籤:javascript html 查询 css
上一篇:根據資料值啟用/禁用按鈕
