У меня есть две кнопки для группы, вторая - для Навыков. когда я нажимаю кнопку "Группы", отображается одно всплывающее окно, а во всплывающем меню группы отображаются с помощью флажка. Когда вы выбираете группы и нажимаете кнопку "Сохранить", проверенные группы будут отображаться на верхней кнопке группы, и всплывающее окно закроется. И это тоже для кнопки навыков.
Моя проблема в том, что когда я выбираю группы, они будут отображаться на кнопках групп, но когда я выбираю умение, я теряю выбранные группы.
прямо сейчас я делаю это:
function OnClickButton () {
var display = "";
checkboxes = document.getElementsByName("group");
for( var i=0; i<checkboxes.length; i++){
if( checkboxes[i].checked ){
display += " " + checkboxes[i].value;
}
}
window.location.href='job_posting.html?data='+display;
}
<button type="button" onclick="OnClickButton()" >Save</button>
это для групп.
function OnClickButton1 () {
var display1 = "";
checkboxes = document.getElementsByName("skill");
for( var i=0; i<checkboxes.length; i++){
if( checkboxes[i].checked ){
display1 += " " + checkboxes[i].value;
}
}
window.location.href='job_posting.html?data='+display1;
}
<button type="button" onclick="OnClickButton1()" >Save</button>
И это для навыков.
Я получаю группы и навыки в URL. Не для получения URL-адреса я попробую это
function getUrlParameters(parameter, staticURL, decode){
var currLocation = (staticURL.length)? staticURL : window.location.search,
parArr = currLocation.split("?")[1].split("&"),
returnBool = true;
for(var i = 0; i < parArr.length; i++){
parr = parArr[i].split("=");
if(parr[0] == parameter){
return (decode) ? decodeURIComponent(parr[1]) : parr[1];
returnBool = true;
}else{
returnBool = "";
}
}
if(!returnBool) return false;
}
function get_data()
{
var idParameter = getUrlParameters("data","",true);
var idParameter1 = getUrlParameters("data1","",true);
document.getElementById('display').innerHTML=idParameter;
document.getElementById('display1').innerHTML=idParameter1;
}
Назовите это
<body onLoad="get_data();">
Заранее спасибо
То, что вы хотите сделать, похоже на следующее
function handleRedirect() {
var url = 'job_posting.html?data=';
var checkboxes = document.getElementsByName('name');
for(var i = 0; i < checkboxes.length; i++) {
if(checkboxes[i].checked){
url += checkboxes[i].value + " ";
}
}
url += '&data1=';
checkboxes = document.getElementsByName('skill');
for(var i = 0; i < checkboxes.length; i++) {
if(checkboxes[i].checked){
url += checkboxes[i].value + " ";
}
}
window.location.href = url;
}
<button type="button" onclick="handleRedirect()" >Save</button>
<button type="button" onclick="handleRedirect()" >Save</button>
Надеюсь это поможет!
Виктор прав, так я и делал это в сыром JS, только с одной разницей:
<button type="button" onclick="OnNameSaveClicked()" >Save</button>
<button type="button" onclick="OnSkillSaveClicked()" >Save</button>
Как вы видите, это делает то же самое, что вы можете сделать:
<button type="button" onclick="handleRedirect()" >Save</button>
И у вас будет тот же эффект с меньшим количеством строк кода.