JavaScript - Показать / Скрыть Div на основе выбора формы (постбэк) - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть форма, которую я использую для обновления существующего набора информации в базе данных. Внутри него есть поле выбора, при выборе опции «B» он показывает скрытый раздел, а при выборе опции «A» он скрывает этот раздел. Это отлично работает.

Однако, когда я загружаю набор записей из базы данных, и в поле выбора установлено значение «B», чтобы показать скрытый div, он не отображается.

Это потому, что я переключаю тег DIV с помощью 'onchange'.

Как мне заставить JS правильно показывать тег DIV при загрузке набора записей? В настоящее время, чтобы увидеть данные, я должен переключить окно выбора между двумя вариантами.

Я почти ничего не знаю о JS, JS ниже не мой, я был бы признателен за помощь.

Спасибо

<!--- show / hide DIV based on select --->

<script type="text/javascript"><!--
var lastDiv = "";
function showDiv(divName) {
    // hide last div
    if (lastDiv) {
        document.getElementById(lastDiv).className = "hiddenDiv";
    }
    //if value of the box is not nothing and an object with that name exists, then change the class
    if (divName && document.getElementById(divName)) {
        document.getElementById(divName).className = "visibleDiv";
        lastDiv = divName;
    }
}
//-->
</script>
<style type="text/css" media="screen"><!--
.hiddenDiv {
    display: none;
    }
.visibleDiv {
    display: block;
    border: 0px grey solid;
    }

--></style>
<!--- end DIV hide --->



--------------snip----------



  <select name="ad_i" id="ad_i" onchange="showDiv(this.value);">
      <option value="in" <? echo $adtypea; ?> >Option A </option>
      <option value="ba" <? echo $adtypeb; ?> >Option B</option>
   </select>

   <!--- start hiding DIV --->

  <div class="hiddenDiv" id="ba">

  <br /><br />Coding for Ad<br />

<select name="ad_type" id="ad_type">
      <option value="html" <? echo $codestylea; ?> >HTML</option>
      <option value="adsense"<? echo $codestylef; ?>>Adsense / Other JavaScript Code</option>
      <option value="img" default="default" <? echo $codestyleb; ?>>Image</option>
      <option value="swf" <? echo $codestylec; ?>>Flash</option>
   </select>


   </div>
   <!--- end Div for hidden--->

Ответы [ 2 ]

0 голосов
/ 21 февраля 2018
<script type="text/javascript">

    $(document).ready(function(){
    $('#bl_cat').on('change', function() {
      if ( this.value == 'vid')
      //.....................^.......
      {
        $("#dis-vid").show();
        $("#dis-img").hide();  
      }
      else
      {
        $("#dis-img").show();  
        $("#dis-vid").hide();
      }
    });
});
</script>   
0 голосов
/ 25 апреля 2011

После того, как вы отобразили поле выбора и элементы div, которые вы хотите показать / скрыть, вызов:

<script type="text/javascript">
var selectbox = document.getElementById("ad_i");
showDiv(selectbox.options[selectbox.selectedIndex].value);
</script>

, поэтому я думаю, что он должен идти после

<!--- end Div for hidden--->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...