2013年2月2日星期六

简单的复选框列表亮高效果(Javascript和CSS实现)

下面这个教程将告诉你如何使用javascriptCSS实现一个简单的复选框列表亮高效果。(原文: woork/翻译:帕兰)

selector list 简单的复选框列表亮高效果(Javascript和CSS实现)

  1. html代码

    <div class=“selector_int”>Chose topic</div>
    <ul id=“selector”>
    <li id=“sel1″><input type=“checkbox” id=“inp1″ onClick=“javascript:selectElement(1)”/>Technology</li>
    <li id=“sel2″><input type=“checkbox” id=“inp2″ onClick=“javascript:selectElement(2)”/>Science</li>
    <li id=“sel3″><input type=“checkbox” id=“inp3″ onClick=“javascript:selectElement(3)”/>Gaming</li>
    <li id=“sel4″><input type=“checkbox” id=“inp4″ onClick=“javascript:selectElement(4)”/>Lifestyle</li>
    <li id=“sel5″><input type=“checkbox” id=“inp5″ onClick=“javascript:selectElement(5)”/>Entertainment</li>
    <li id=“sel6″><input type=“checkbox” id=“inp6″ onClick=“javascript:selectElement(16)”/>Sport</li>
    </ul>
    <div class=“selector_footer”>
    <input type=“button” value=“Save”>
    </div>目前的这个复选框列表,不管你选择哪一个,都不会改变他们的文本颜色或是背景颜色,所以我们将在第3步里面使用一个javascript的onclick属性来实现:

    onClick=“javascript:selectElement(id)

  2. PHP代码
    你可以在这份复选列表里面使用PHP代码来实现一些功能,比如查询结果。举例来说,如果这是一个使用了个id_desc_pk (主键):

    <?php
    $getTopic_sql = ‘SELECT id_desc_pk, description FROM TOPIC’;
    $getTopic = mysql_query($getTopic_sql);
    ?>
    下面是增加了<li>元素后的示例:
    <?php while ($row = mysql_fetch_array($getTopic)) {?>
    <li id=“sel<?php echo $row['id_desc_pk']; ?>“><input type=“checkbox” id=“inp<?php echo $row['id_desc_pk']; ?>” onClick=“javascript:selectElement(<?php echo $row['id_desc_pk']; ?>)”/>
    <?php echo $row['description']; ?></li>
    <?php } ?>

  3. Javascript函数
    你可以通过添加下面这个Javascript函数到你的<head>之间,来实现复选列表,当被选择状态下的背景颜色,其中colorSelected就是你想的颜色值:
    <script language=“javascript”>
    function selectElement(idElement){
    var colorSelected = ‘#FFFFCC’;
    var colorNoSelected = ‘#FFFFFF’;
    liElement = document.getElementById(‘sel’+idElement);
    inputElement = document.getElementById(‘inp’+idElement);
    if(liElement.style.background==”){
    liElement.style.background = colorSelected;
    } else {
    liElement.style.background = colorNoSelected;
    }
    }
    </script>

OK,这是一个示例下载包

来源于 简单的复选框列表亮高效果(Javascript和CSS实现) | 帕兰映像

没有评论:

发表评论