Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2016, 15:00
Новичок на форуме
Отправить личное сообщение для serge_spb Посмотреть профиль Найти все сообщения от serge_spb
 
Регистрация: 25.03.2016
Сообщений: 1

Проблема со скрытием select
Добрый день!
Хотел попросить помощи с кодом.
Есть код php который формирует в цикле селекты на странице:

public function getTextfield($field,$ranges = NULL){
		$defaut_values = JRequest::getVar("xf_{$field->id}_txt",'');
		$values = json_decode($field->value);	
		foreach ($values as $f)
        {
           	if($defaut_values){
           		$f->value = $defaut_values;
           	}
        	$html .= "\n\t<input type=\"text\" class=\"exfield exgroup{$field->group}\" name=\"xf_{$field->id}_txt\" id=\"xf_{$field->id}_txt\" value=\"{$f->value}\" />";
        }
        return $html;
	}


Не пойму как скрыть селект xf_6, чтобы потом он появлялся при выборе определенного option из xf_5 ? Я понимаю что его сначала нужно скрыть дивом, а потом прописать что-то типа:
<script type="text/javascript">  
	// <![CDATA[
	$(document).ready(function() {
		$("select#xf_5").change(function() {
			if ($(this).val() == "2") {
				$("select#xf_6").show();
			} else {
				$("select#xf_6").hide();
			}
		});
		
	});
	// ]]>
	
</script>

Я только не понимаю как в цикле создания селектов присвоить одному из них какой-то див?
Буду рад любой помощи!
Ответить с цитированием
  #2 (permalink)  
Старый 29.03.2016, 19:08
Аспирант
Отправить личное сообщение для Alex_63 Посмотреть профиль Найти все сообщения от Alex_63
 
Регистрация: 22.08.2015
Сообщений: 71

serge_spb,
<script type="text/javascript">  
	$(document).ready(function() {
		$("select#xf_5").change(function() {
			if ($(this).find('option:selected').attr('value') == "2") {
				$("select#xf_6").show();
			} else {
				$("select#xf_6").hide();
			}
		});
		
	});
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 29.03.2016, 19:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Alex_63,
чем ваш код интереснее макета ТС?
Ответить с цитированием
  #4 (permalink)  
Старый 29.03.2016, 19:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от serge_spb
Я понимаю что его сначала нужно скрыть дивом
а может css?
Ответить с цитированием
  #5 (permalink)  
Старый 30.03.2016, 18:01
Аспирант
Отправить личное сообщение для Alex_63 Посмотреть профиль Найти все сообщения от Alex_63
 
Регистрация: 22.08.2015
Сообщений: 71

рони,
Мой должен сработать, делал так не раз, (мну походу не совсем понял, что требуется

Ну если нун изначально скрыть, тогда так: (Код в сумме
<style>select#xf_6{display:none}</style>
<script type="text/javascript">  
$(document).ready(function() {
	$("select#xf_5").change(function() {
		if ($(this).find('option:selected').attr('value') == "2") {
			$("select#xf_6").show();
		} else {
			$("select#xf_6").hide();
		}
	});
});
</script>

Последний раз редактировалось Alex_63, 30.03.2016 в 18:09.
Ответить с цитированием
  #6 (permalink)  
Старый 30.03.2016, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Alex_63,
основной вопрос был почему не if(this.value == 2) , но можно и совсем без if
Ответить с цитированием
  #7 (permalink)  
Старый 30.03.2016, 18:30
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от serge_spb Посмотреть сообщение
Есть код php который формирует в цикле селекты на странице:

public function getTextfield($field,$ranges = NULL){
		$defaut_values = JRequest::getVar("xf_{$field->id}_txt",'');
		$values = json_decode($field->value);	
		foreach ($values as $f)
        {
           	if($defaut_values){
           		$f->value = $defaut_values;
           	}
        	$html .= "\n\t<input type=\"text\" class=\"exfield exgroup{$field->group}\" name=\"xf_{$field->id}_txt\" id=\"xf_{$field->id}_txt\" value=\"{$f->value}\" />";
        }
        return $html;
	}

......................
..................
Я только не понимаю как в цикле создания селектов присвоить одному из них какой-то див?
А где цикл создания селектов?
Ответить с цитированием
  #8 (permalink)  
Старый 30.03.2016, 19:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Я только не понимаю как в цикле создания селектов присвоить одному из них какой-то див?

Ну какой-то присваивается - id=\"xf_{$field->id}_txt\", правда как уже заметили, это не список.

И зачем почем зря нагружать парсер:

$html .= '<input type="text" class="exfield exgroup'.$field->group.'" name="xf_'.$field->id.'_txt" id="'.xf_'.$field->id.'_txt" value="'.$f->value.'" />';


Форматированный результат всегда можно увидеть в отладчике, так что переносы и табуляция совсем не к чему. Идеальный html-код, это длииииинная строка без мусора.

Последний раз редактировалось laimas, 30.03.2016 в 19:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с модифицированным select Drm1804 jQuery 11 29.03.2015 12:12
Проблема с select Peter007 jQuery 1 06.02.2014 18:10
Проблема с SexyCombo - плагин не стандартного select maximale jQuery 0 02.07.2013 23:22
Проблема select innerHTML adamsalex AJAX и COMET 0 02.04.2012 11:46
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31