如何在javascript变量

时间:2017-11-04 10:15:05

标签: javascript jquery jquery-select2

我正在使用多个jquery select2

在我的HTML中

<select class="select2_demo_3 form-control" style="color: #1c84c6" id="selectSubject" name="selectSubject">
<option value="">Select a Subject</option>
<?php
$query= "SELECT * FROM `tblsubject` WHERE `status`='1'";
$found=mysqli_query($con,$query);
while($row = mysqli_fetch_array($found)){
?>
<option value="<?php echo($row['id']);?>"><?php echo($row['subject_name']);?></option>
<?php
}
?>

<select class="select2_demo_3 form-control" id="selectTopic" name="selectTopic">
<option value="">Select a Topic</option>
<?php
$query= "SELECT * FROM `tbltopic` WHERE `status`='1'";
$found=mysqli_query($con,$query);
while($row = mysqli_fetch_array($found)){
    ?>
    <option value="<?php echo($row['id']);?>"><?php echo($row['topic_name']);?></option>
    <?php
}
?>

依此类推,然后在我的剧本中

$(document).ready(function(){
$(".select2_demo_3").select2();
});

问题是虽然我在每个选择的id标签中给它,在检查元素时我得到一个不同的id,这是由jquery在内部设置我认为。 screenshot of inspect

你可以看到它显示我的给定id是&#34; selectSubject&#34;但是当我在我的剧本中写作时

    <script type="text/javascript">
        var questionType=document.getElementById("selectSubject").value;
    </script>

我正在

&#34;未捕获的TypeError:无法读取属性&#39;值&#39; of null&#34;错误

我在做错了什么?我可以在javascript中获得select2值吗?或者做正确的方法是什么?

当我使用SELECT2的多个数字时,我想通过ID或其他方式选择个人值。

编辑:将getElementById中的id更正为&#34; selectSubject&#34;。

1 个答案:

答案 0 :(得分:0)

您收到"Uncaught TypeError: Cannot read property 'value' of null" error因为您的DOM在加载DOM之前正在运行。因此,当脚本运行时,它无法找到导致document.getElementById("selectSubject")的元素作为空值。在身体后移动脚本部分将解决您的问题。

<script>
  console.log("script before body tag: %o", document.getElementById("test")); // null
</script>
<div id="test">Hello World</div>
<script>
  console.log("script afterbody tag: %o", document.getElementById("test")); // <div id="test" ...
</script>