2014-01-28 196 views
-3

我查看了其他答案,但沒有一個似乎適用於我。我有一個帶有下拉列表的隱藏DIV表單。我希望它只在單擊按鈕時纔可見。我用一個按鈕創建了以下代碼。所以當點擊按鈕時,它會顯示隱藏的div,但每次我點擊按鈕時,什麼都沒有發生。單擊按鈕後顯示DIV

這裏是我的代碼:

<form action="_form.php" method="POST"> 
    <div class="row"> 
    <input type=button value="Already a Supplier" name="supplier">  
    </div> 
</form> 

<?php 
    if(isset($_POST['supplier'])) 
    { 
??php 

<div class="row" style="visibility: hidden" name="suppliers"> 
<?php $supplier = SupplierHead::model()->findAll(); 
     $list = CHtml::listData($supplier ,'head_id','head_name'); 
     echo $form->DropDownList($model,'party_id', 
     $list, array('prompt'=>'Select Supplier')); 
?> 
</div> 

<?php 

    } 
?> 
+0

必須嘗試與'jquery'嗎? –

+0

使用jquery請 –

+0

「?? php」是一個錯字嗎?此外,你有「知名度:隱藏」,所以它不會出現... –

回答

0

使用jQuery的.show()方法。

這裏有一個小提琴:http://jsfiddle.net/q2Ru5/

HTML:

<select class="hideDefault"> 
    <option>Option 1</option> 
    <option>Option 2</option> 
    <option>Option 3</option> 
</select> 

<button class="unHide">Unhide the dropdown</button> 

CSS:

.hideDefault { display: none; } 

的jQuery:

$(".unHide").click(function() { 
    $(".hideDefault").show(); 
}); 

什麼你基本上做的是加載dropd擁有,隱藏它,然後使用.unHide類等待按鈕上的click()事件,並通過定位(或選擇)該類來顯示下拉菜單。

可能值得注意的是,如果您之前沒有使用過jQuery,那麼您將不得不引用jQuery庫的一個副本來使用它。

0

嘗試這樣

<script> 
    function show() 
      { 
       document.getElementById("suppliers").style.visibility = "visible"; 
      } 
</script> 

<div class="row" id="suppliers" style="visibility:hidden" name="suppliers">Content of div</div> 
<input type="button" value="show" onClick="show()"/>   
2

使用jQuery像下面。使用display代替visibility

<div class="row" id="toshow" style="display:none" name="suppliers"> <?php $supplier = SupplierHead::model()->findAll(); 
     $list = CHtml::listData($supplier ,'head_id','head_name'); 
     echo $form->DropDownList($model,'party_id', 
     $list, array('prompt'=>'Select Supplier')); ?> </div> 

    <button id="abutton">Click</button> 

    <script> 
    $(document).ready(function() { 
     $("#abutton").click(function(e){ 
      e.preventDefault(); 
      $("#toshow").css('display', 'block'); 
     }); 
    }); 
    </script>