Показать сообщение отдельно
  #1 (permalink)  
Старый 24.06.2014, 09:15
Аватар для psfdek
Профессор
Отправить личное сообщение для psfdek Посмотреть профиль Найти все сообщения от psfdek
 
Регистрация: 14.02.2014
Сообщений: 157

Получить параметры мультиселект
Делаю форму ajax, но незнаю как этим способом передать мультиселект. Точнее его выбранные элементы.

<span class="row_2">
				<form onsubmit="return false">
					<span class="child_row_1">
						<label for="с_kv">Должности</label>
							<select id="ranks[]" name="ranks[]" size="5" multiple>
								<option value="Koterov">one</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Wyke">two</option>
								<option value="Welling">three</option>
							</select>
					</span>
					<span class="child_row_2">
							<input placeholder="Название должности" id="rank_text" type="text" name="text" />
							<button class="bt1" id="ch_2_bt1" value="add" onclick="getXml2()">Добавить</button>
							<button class="bt2" id="ch_2_bt2" value="del" onclick="getXml2()">Удалить</button>
						<div class="row_2_rez" id="divResult2">результат</div>
					</span>	
				</form>
			</span>

function getXml2(){
		var link = '/query_role_rank_add_del.php';
		var divid = 'divResult2';
		var val1 = document.getElementById('ranks[]').value;
		var val2 = document.getElementById('rank_text').value;
		var val3 = document.getElementById('ch_2_bt2').value;
		var sVl ='ranks[]='+val1+'&rank_text='+val2+'&ch_2_bt2='+val3;
		getXml2St1(sVl,divid,link);
	}
function getXmlHttpRequest(){
	if(window.XMLHttpRequest)
		return new XMLHttpRequest();
	else
		return null;
}

function getXml2St1(reqSt1,divid,link){
	var reqString1 = getXmlHttpRequest();
	reqString1.onreadystatechange = function(){
			if(reqString1.readyState != 4) return;{
				var resultCheck = document.getElementById(divid);
				resultCheck.firstChild.nodeValue = reqString1.responseText;
				resultCheck.innerHTML = reqString1.responseText;
			}
		};
	reqString1.open('GET', 'http://test.bfgamershd.ru'+link+'?'+reqSt1, true);
	reqString1.send(null);
	writeResultTrComp();
}



if (isSet($_GET['ch_2_bt2']))
     { echo '1';
       if ( isSet($_GET['ranks']) )
       // если выбран хотя бы один элемент списка
       {echo '2';
          foreach ( $_GET['ranks'] as $v )
              echo "$v<br>";
       }
       else
          echo 'Ничего не выбрано<br>';
     };


В песочнице
http://learn.javascript.ru/play/AHVqxb
Ответить с цитированием