2016-08-22 11 views
-2

エコーが値をとるとjavascriptは変更できません。 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() 
     } 
    }); 

PHPを使用してエコーすると、JavaScriptをどのように実行することができますか?

+0

値オプションで、少なくとも2つの値の機能活性()活性に変化を()関数。 –

+0

論理は 'if(this.selectedIndex> 0)...'でなければならないと思われます。そして、オプションの数に制限はなく、最初のもの以外のオプションが選択されている場合にのみdivを表示します(最初の"選択してください..."のようなテキストで選択されたデフォルトです)、または$( '#reqtypev' hide ']()}) 'を実行します。 – RobG

答えて

1

トリガ変更イベントを選択したら、フォーム内のフィールドを非表示にすることです:

(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

(別のリフレッシュが発生するまで)うーん、私はそれがPHPでなんとかだとは思わない、PHPを一度実行し、終了します。この

//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でそれを行うことができます。しかし、人々がセレクションバーを動かすところには住んでいない。

あなたは何をしたいのですか?私はあなたが表示されている小さなコードから想定する人は、以下のよう#reqtypevのためのページロード後の値< 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コード:OPTIOで

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

値をnは少なくとも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> 
関連する問題