如何更改两个相关的下拉列表onload的值?

时间:2019-05-18 00:53:25

标签: javascript php ajax

我正在尝试执行以下操作:

  1. 从数据库中为第一个下拉菜单获取用户的选择。
  2. 在第二个菜单中显示用户类别的相应选项(从1开始)。

我可以使用“ mouseup”事件属性来执行此操作,但这不是我想要的。我希望在打开页面后完成的第一个菜单更改后立即更改它,我尝试了“ onload”属性,但是它不起作用。这是我的代码:

身体:

//First menu
المؤهل:
  <select id="qualificationList" name="qualification" required>
      <option value="TM" <?php echo ($studentInfoSqlResultRow['qualification']=="TM")? "selected" : ""?>>التمهيدي</option>
        <option value="ET" <?php echo ($studentInfoSqlResultRow['qualification']=="ET")? "selected" : ""?>>ابتدائي</option>
   </select><br><br>
// Second menu
الفصل:
<select id="get_classes" name="regularClass"></select><br><br>

脚本:

<script type="text/javascript">
    $(function() {
      $('[name="qualification"]').mouseup(function(){
        if( $('[name="qualification"]').val() !== 'ET'){
          $("#gradeDL").prop("disabled",true);
        } else {
          $("#gradeDL").prop("disabled",false);
        }
        var category = $('#qualificationList').val();
        var dataString = "category="+category;
        $.ajax({
          type: "POST",
          url: "getClasses.php", // Name of the php files
          data: dataString,
          success: function(html)
          {
              $("#get_classes").html(html);
          }
        });
      });
    });
    </script>

编辑: 我已经解决了问题。我只是删除了这一行:

$('[name="qualification"]').mouseup(function(){

因为我不需要更改第二个菜单的事件,所以现在它在文档完全加载时就执行了我想要的功能。 谢谢大家,希望对您有所帮助。

2 个答案:

答案 0 :(得分:0)

<!-- HTML -->
<select id="selectOne" name="selectOne" required>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>
<select id="selectTwo" name="selectTwo"></select>

<!-- Javascript -->
<script type="text/javascript">
    var changeClassMenu = function() {
        $('select[name="selectTwo"').html('<option val="' + $('select[name="selectOne"]').val() + '">' + $('select[name="selectOne"] option:selected').text() + '</option>');
    };

    $(function() {
        changeClassMenu();

        $('select[name="selectOne"]').on('change', function() {
            changeClassMenu();
        });
    });
</script>

答案 1 :(得分:0)

根据$ studentInfoSqlResultRow ['qualification']的值来选择常规类,如果可以进行进一步的更改,则可以由您的代码完成。.

简单的解决方案..