jQuery切换下拉列表显示页面加载上的hide div



我具有一个函数,当选择下拉列表时,它隐藏了一个div并完美工作。

$('#allday').on('change', function () {
    $("#mytimes").toggle(this.value == 'No');
});

用户选择此内容后,他们会转到一个带有相同字段的编辑页面。现在,如果选择的值是一个是,我希望它从已经隐藏的DIV开始。如果它是否,我希望它从可见的div开始,并且仍在正确的庄园中运行切换。这是我的编辑页面上的代码,但它不起作用。

$('#allday').on('change', function () {
    $("#mytimes").toggle(this.value == 'No');
});
if ($('#allday').val() == 'No') {
    $('#mytimes').show();
} else if($('#allday').val() == 'Yes') {
    $('#mytimes').hide();
}

这是我在PHP中的选择字段

Form::Select ("Available All Day", "allday", $allDayOpt,  array('name'=>'allday', "autocomplete"=>"off"));
echo '<div id="mytimes">';
Form::Textbox("Start Time", "hourstime", array('name'=>'hourstime', 'data-format'=>"HH:mm" ,'data-template'=>"HH : mm"));
Form::Textbox("End Time", "houretime", array('name'=>'houretime', 'data-format'=>"HH:mm" ,'data-template'=>"HH : mm"));
echo '</div>';

如果我理解正确,则可以尝试

之类的东西
$("#mytimes").toggle(this.attr('value', 'no'));

并使用

获得值
if($('#allday').attr('value') == 'Yes'){ //do something }

我认为您应该将表演/隐藏代码的一部分放在加载后运行的函数中。

$('#allday').on('change', function () {
   $("#mytimes").toggle(this.value == 'No');
});
$(function() {
    if ($('#allday').val() == 'No')
    {
      $('#mytimes').show();
    }
    else if($('#allday').val() == 'Yes')
    {
      $('#mytimes').hide();
    }
});

最新更新