0

我正在开发一个使用多个选择选项列表并隐藏选择选项的 php 项目在线约会表格。

验证失败后,我在选择选项中保留值时遇到问题。

我的选择选项就像这个小提琴一样被触发,

第一个选择选项值将触发第二个选择选项,然后第二个选择选项值将触发图像。保留第一个选择选项值,但重置第二个选择选项值。

我可以保留价值,但是当用户想要更改为其他选项时,旧选项的值仍然保留在那里,它将附加新值。我想要的是,如果用户更改其他选项,它将自动重置为 null,但在验证失败后它会保留。

我在这个 jquery 中使用了明确的值:

$(document).ready(function(){
  $('#Service').change(function(){    
  $('#selectOp1').prop('selectedIndex',0);
  $('#selectOp2').prop('selectedIndex',0);
  $('#selectOp3').prop('selectedIndex',0);
  $('div.second-level-container').children().hide(); //this one for hide the image
)};

但是当验证失败时,选择的值也消失了,这很烦人。有人可以帮我有什么选择吗,我是 jquery 的新手

4

1 回答 1

0
//You can try this this will reset your select box values also 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    $('#Rank').bind('change', function() {
        var elements = $('div.container').children().hide(); // hide all the elements
        var value = $(this).val();

        if (value.length) { // if somethings' selected

            elements.filter('.' + value).show(); // show the ones we want

            $('div.container div').children().each(function(){

                $.each(this.attributes, function(i, attrib){

                   if(attrib.name != value)
                   {
                       $('#'+value).prop('selectedIndex',0);
                   }

                  });
             });

            var elements = $('div.second-level-container').children().hide(); // hide all the elements

         //master reset
        }else{

            $('#airman').prop('selectedIndex',0);

            $('#senior-airman').prop('selectedIndex',0);

            var elements = $('div.second-level-container').children().hide();            
        }

    }).trigger('change');

    $('.second-level-select').bind('change', function() {
        var elements = $('div.second-level-container').children().hide(); // hide all the elements
        var value = $(this).val();

        if (value.length) { // if somethings' selected
            elements.filter('.' + value).show(); // show the ones we want

        //reset the child and      
        }else{

            var elements = $('div.second-level-container').children().hide(); // hide all the elements
        }
    }).trigger('change');
});
</script>
<!-- Site JavaScript -->
<select size="1" id="Rank" title="" name="Rank">
    <option value="">-Select Your Rank-</option>
    <option value="airman">Airman</option>
    <option value="senior-airman">Senior Airman</option>
</select>

<div class="container">
    <div class="airman">
        <select class="second-level-select" id='airman'>
            <option value="">-Select Your Rank-</option>
            <option value="basic-ore-1">Basic Ore Miner - Level 1</option>
            <option value="basic-ore-2">Basic Ore Miner - Level 2</option>
        </select>
    </div>
    <div class="senior-airman">
        <select class="second-level-select" id='senior-airman'>
            <option value="">-Select Your Rank-</option>
            <option value="omber-miner-1">Omber Miner - Level 1</option>
            <option value="omber-miner-2">Omber Miner - Level 2</option>
        </select>
    </div>
</div>

<div class="second-level-container">    
    <div class="basic-ore-1">
        Line of text for basic ore miner 1
    </div>
    <div class="basic-ore-2">
        Line of text for basic ore miner 2
    </div>
    <div class="omber-miner-1">
        Line of text for omber miner 1
    </div>
    <div class="omber-miner-2">
        Line of text for omber miner 2
    </div>    
</div>
于 2013-07-04T11:21:26.570 回答