用js或者jq实现,根据下拉菜单的字段来显示对应的内容?

JavaScript015

用js或者jq实现,根据下拉菜单的字段来显示对应的内容?,第1张

在下拉菜单的change事件中,获得当前选择班级的标识,再从数据源中匹配这个标识的班级数据并展示

<body>

    <select id="class">

        <option value="一班">一班</option>

        <option value="二班">二班</option>

        <option value="三班">三班</option>

    </select>

    <div id="classStudent"></div>

<script>

    var data = {

        '一班': '张三,李四',

        '二班': '周五,郑六',

        '三班': '田七,王八'

    }

    //js

    document.getElementById("class").addEventListener("change",function(){

        document.getElementById("classStudent").innerHTML = data[this.value]

    })

    //jquery

    /*

    $("#class").change(function(){

        $("#classStudent").html(data[this.value])

    })

    */

</script>

</body>

这个功能你要自己写?

自己写很痛苦的,而且还要处理不同浏览器的兼容问题,建议你还是作用JS框架。。EXTjs吧

如果你真要自己写,我愿意讲下我的思路。

首先假设有一个rowUp(trId,rowcounts)方法 ,和一个rowDown(trId,rowcounts)方法,参数是某行的tr的id,参数二是要移动的行数,或者你不用table,用DIV也行。

我会把每行数据看作一个对象,当这个对象中的某个ID需要rowUp/rowDown的时候,我就调这个td的parent的rowUp/rowDown函数

现在再研究下,怎么确定这行要上还是要下

还是用TABLE举例,如果我排序的是第三列,那就应该迭代table的第三列所有td元素,取里面的值,然后进行排序,排序的时候可以 这样做:

假设第一行是3,第二行是1,那么,1这一行可能要放到第一行,

所以它是上移一行那应该调用 函数rowUp(trId_2,1)

这样一直迭代下去。我这只是拿冒泡排序(应该是冒泡吧,我不记得名称了,不用在意这些细节)的思路走的,如果你有更好的算法,可以不用我这个算法思路。。