как получить проверенное значение из двух URL одновременно

0

У меня есть две кнопки для группы, вторая - для Навыков. когда я нажимаю кнопку "Группы", отображается одно всплывающее окно, а во всплывающем меню группы отображаются с помощью флажка. Когда вы выбираете группы и нажимаете кнопку "Сохранить", проверенные группы будут отображаться на верхней кнопке группы, и всплывающее окно закроется. И это тоже для кнопки навыков.

Моя проблема в том, что когда я выбираю группы, они будут отображаться на кнопках групп, но когда я выбираю умение, я теряю выбранные группы.

прямо сейчас я делаю это:

 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();">

Заранее спасибо

Теги:
cordova

2 ответа

0

То, что вы хотите сделать, похоже на следующее

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> 

Надеюсь это поможет!

  • 0
    Но в этом есть одна проблема: когда я выбираю группы, которые показывает гроус, но когда я выбираю навык, то выбранные группы теряются.
  • 0
    Вы захотите перебрать все параметры URL, разбить их на пробелы, а затем найти все соответствующие флажки и проверить их.
Показать ещё 2 комментария
0

Виктор прав, так я и делал это в сыром JS, только с одной разницей:

<button type="button" onclick="OnNameSaveClicked()"  >Save</button> 
<button type="button" onclick="OnSkillSaveClicked()"  >Save</button> 

Как вы видите, это делает то же самое, что вы можете сделать:

<button type="button" onclick="handleRedirect()"  >Save</button> 

И у вас будет тот же эффект с меньшим количеством строк кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню