簡體   English   中英

根據所選下拉菜單隱藏div

[英]Hide div based on selected dropdown

現在創建新頁面時,此代碼可以正常工作。 選擇一個下拉列表將顯示或隱藏為標記所裝飾的位置。 問題是在編輯頁面中,其默認選擇的ID如ID 3,我希望在頁面加載時隱藏帶有3的div。 我完全在使用javascript和jquery。

<div class="form-group">
<label class="control-label col-md-2" for="ArticleCategoryId">Menu Category</label>
    <div class="col-md-10">
    <select class="chooseOption form-control" id="ArticleCategoryId" name="ArticleCategoryId">
    <option value="1">pages</option>
    <option value="2">about</option>
    <option selected="selected" value="3">project</option>
    <option value="4">gallery</option>
    <option value="5">news</option>
    <option value="6">events</option>
    <option value="7">FAQS</option>
    <option value="8">Jobs</option>
    <option value="9">Documents</option>
    <option value="10">Clients</option>
    </select>

 <div class="form-group ArticleCategoryId 3">
 <label class="control-label col-md-2" for="ArticleOnDate">Start Date</label>
     <div class="col-md-10">
    <input class="form-control text-box single-line" data-val="true" data-val-date="The field Start Date must be a date." id="ArticleOnDate" name="ArticleOnDate" type="datetime" value="" />
    <span class="field-validation-valid text-danger" data-valmsg-for="ArticleOnDate" data-valmsg-replace="true"></span>
                </div>
            </div>

            <div class="form-group ArticleCategoryId 1">
                <label class="control-label col-md-2" for="ArtilceOnTime">On Time</label>
                <div class="col-md-10">
                    <input class="form-control text-box single-line" id="ArtilceOnTime" name="ArtilceOnTime" type="text" value="" />
                    <span class="field-validation-valid text-danger" data-valmsg-for="ArtilceOnTime" data-valmsg-replace="true"></span>
                </div>
            </div>

以下是jquery片段

<script type="text/javascript">
jQuery(".optionName").hide();
jQuery("document").ready(function () {   /// have to wait till after the document loads to run these things
jQuery("select.chooseOption").change(function () {
jQuery("." + this.id).hide();
var thisValue = jQuery(this).val();
if (thisValue != "")
 jQuery("." + thisValue).show();
        });
    });
</script>

這是一個編輯頁面,我希望在頁面加載時隱藏"<div class="form-group ArticleCategoryId 3">....</div> ,因為已選擇項目ID 3,但其他項目應顯示。任何幫助被贊賞

給出諸如“ ArticleCategoryId 1”之類的組件類是一個壞主意。

你可能會喜歡

<div class="form-group editable-category" data-category-id="1">
   <label class="control-label col-md-2" for="ArtilceOnTime">On Time</label>
   <div class="col-md-10">
      <input class="form-control text-box single-line" id="ArtilceOnTime" name="ArtilceOnTime" type="text" value="" />
      <span class="field-validation-valid text-danger" data-valmsg-for="ArtilceOnTime" data-valmsg-replace="true"></span>
   </div>
</div>

和CSS

.editable-category{
  display:none;
}

.editable-category.active{
  display:block;
}

和js如下

$(document).ready(function(){
  $('select.chooseOption').on('change',function(){
     var thisValue = $(this).find('option:selected').val();
     if(thisValue){
       $('.editable-category.active').removeClass('active');
       $('.editable-category[data-category-id="'+thisValue+'"]').addClass('active');
     }
  }).trigger('change');

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM