2016-08-22 18 views
-2

Когда эхо внутри значения, javascript onchange не работает. он должен снова щелкнуть/выбрать, чтобы показать div.Показать/скрыть Div при выборе значения опции

<?php 
$test = '1'; 
?> 

    <select name="request" id="reqtypev" class="form-control1" > 
    <option value="<?php echo $test ?>" selected="selected"><?php echo $test ?></option> 
    </select> 

это действительно работает, если вы не эхо его, используя php.

//javascript 
     $('#reqtypev').change(function(){ 
     if($(this).val()==="1" || $(this).val()==="2" || $(this).val()==="3" || $(this).val()==="4"){ 
     $("#otherTypev").show() 
     } else { 
     $("#otherTypev").hide() 
     } 
    }); 

Как можно выполнить javascript, когда вы эхом используете php?

+0

значение в варианте по крайней мере, 2 функциональные значения активности() к действию. –

+0

Кажется, логика должна быть 'if (this.selectedIndex> 0) ...' тогда вы можете иметь неограниченное количество опций и показывать только div, если выбран вариант, отличный от первого (при условии, что первый по умолчанию выбрано с текстом, например «Пожалуйста, выберите ...») или даже '$ ('# reqtypev'). change (function() {$ ('# otherTypev') [this.selectedIndex> 0? 'show': ' скрыть ']()}) '. – RobG

ответ

1

событие изменения триггера после загрузки страницы для #reqtypev следующим образом:

(function ($) { 

    $(function() { 
     $('#reqtypev').change(function(){ 
      if($(this).val()==="1" || $(this).val()==="2" || $(this).val()==="3" || $(this).val()==="4"){ 
       $("#otherTypev").show() 
      } else { 
       $("#otherTypev").hide() 
      } 
     }); 


     $('#reqtypev').trigger("change"); 
    }); 

}(jQuery)); 
+0

Спасибо за это, он должен вызывать показ div. очень полезно. –

0

Попробуйте

//javascript 
    $(document).on('change','#reqtypev',function(){ 
    if($(this).val()==="1" || $(this).val()==="2" || $(this).val()==="3" || $(this).val()==="4"){ 
    $("#otherTypev").show() 
    } else { 
    $("#otherTypev").hide() 
    } 
}); 
0

Хм, я не думаю, что это выполнимо в PHP, PHP выполняется один раз и завершает работу (пока не произойдет другое обновление)

Вы можете сделать это в PHP, один раз. Но не живите там, где люди перемещают панель выбора.

Вы можете написать более подробную информацию о том, что вы хотите сделать? Я предполагаю, что из маленького кода вы показываете, чтобы скрыть поле в форме, как только человек выбирает значение, < 1 или> 4

1

Попробуйте это:

<?php 
$test = '1'; 
?> 

    <select name="request" id="reqtypev" class="form-control1" onchange="intializeDrop(this.value);" > 
    <option value="<?php echo $test ?>" selected="selected"><?php echo $test ?></option> 
    </select> 

Js код:

function intializeDrop(id){ 
    if($(this).val()==="1" || $(this).val()==="2" || $(this).val()==="3" || $(this).val()==="4"){ 
     $("#otherTypev").show() 
    } else { 
     $("#otherTypev").hide() 
    } 
} 
0

значение в Optio п по крайней мере, 2 значения функции изменения() к активности

<div id="otherTypev">texttttt</div> 
<select name="request" id="reqtypev" class="form-control" > 
    <?php 
    for($i = 0;$i<=10;$i++){ 
     echo '<option value="'.$i.'" selected="selected">'.$i.'</option>'; 
    } 
    ?> 
</select> 

Js

<script> 
    $('#reqtypev').change(function(){ 
    if($(this).val()=== "1" || $(this).val()==="2" || $(this).val()==="3" || $(this).val()==="4"){ 
     $("#otherTypev").show() 
    } else { 
     $("#otherTypev").hide() 
    } 
}); 
</script> 
Смежные вопросы