Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не определяется втарая переменная? (https://javascript.ru/forum/misc/16445-pochemu-ne-opredelyaetsya-vtaraya-peremennaya.html)

Арман 08.04.2011 12:01

Почему не определяется втарая переменная?
 
Здравствуйте все!
Подскажите пожалуйста, почему не определяется втарая переменная? Т.е. val() не вытаскивает второй селект. Почему?
Вот скрипт:
<script type="text/javascript">
 
$(document).ready(function() {
 
        $('#dives').change(function() {
        
 
                           var self = $("#sel option:selected").val();
                           document.write(self);
                                           
                           document.write('<br>');      
                           
                           var delf = $("#dels option:selected").val();
                           document.write(delf);                           
                           
 
 
                
              });
                  
 
});
 
 
</script>


Вот HTML:

<div id="dives">
<form name="form1" method="post" action="">
  <label>
  <select name="wer" id="sel">
  <option value="12">Цве.мет.</option>
  <option value="11">Убрать</option>
  </select>
  </label>
    <label> 
  <select name="wer2" id="dels">
  <option value="1">Медь</option>
  <option value=""></option>
  <option value="2">Цинк</option>
  <option value="3">Аллюминий</option>
  </select>
  </label>
  <label>
  <input type="checkbox" name="check_box" id="check1" checked>
  </label>
  <label>
  <input type="checkbox" name="check_box2">
  </label>
  <label>
  <input type="checkbox" name="check_box3" id="check3" checked>
  </label>
</form>
</div>

Matre 08.04.2011 12:21

Не используйте document.write после загрузки DOM. Это приводит к тому, что всё содержимое документа затирается содержимым из document.write.

Можно написать так:

<div id='foo'></div>


$("#foo").html(self + "<br />" + delf);

Арман 08.04.2011 12:34

Суть в том, что мне надо использовать эти переменные.
Вот сам скрипт:
<script type="text/javascript">

$(document).ready(function() {

	$('#dives').change(function() {
			   
			   
			         var self = $("#sel option:selected").val(); 
	                 var delf = $("#dels option:selected").val(); 
 
			   
					if (self == '11')  
					
					{
					
					$('#check1, #check2, #check3, #check4, #check5').attr('checked','');
					$("#dels").val("");
					
					}
					
					else 
					
					{
					
					$('#check1, #check2, #check3, #check4, #check5').attr('checked','checked');
					$("#dels").val("delf");
					
					}

		
	      });
		  

});


</script>


Одна переменная определяется, вторая нет.
Точнее, в опере и мазилле всё работает как надо, а в google и ie8 нет.

monolithed 09.04.2011 11:14

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
   $("select[name='select']").change(function() {
       $("input[name='checkbox1']").attr('checked', this.value == 1 ? 'checked' : '');
    });
});
</script>

<form name="" action="" method="">
    <select name="select">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
    </select>
    
    <input type="checkbox" name="checkbox1" />
    <input type="checkbox" name="checkbox2" />
    <input type="checkbox" name="checkbox1" />
</form>


Часовой пояс GMT +3, время: 10:13.