检查加载时选择的下拉列表?

时间:2015-07-06 15:19:16

标签: javascript jquery

我目前有很多内容可以揭示onchange事件,例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$cookie_name = "user3";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value); // 86400 = 1 day


if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>

有没有办法在页面加载时以及更改选项时执行这些检查?

3 个答案:

答案 0 :(得分:1)

您可以使用$.trigger。在所有处理程序绑定后(即在脚本末尾),你只需要激活它 ...

$(document).ready(function(){
    $('input[type="checkbox"]').trigger('change');
});

这将触发所有change个处理程序触发所有checkbox元素。

另一种方法是重构:

var checkboxHandler = function(){
    if($(this).is(':checked')){
        $('.ThisDiv').css('display', 'block');     
    } else if ($(this).is(':not(:checked)')){
        $('.ThisDiv').css('display', 'none');      
    }
};

$('input[type="checkbox"][name="ThisBox"]').change(checkboxHandler).each(checkboxHandler);

Here's a fiddle of the second.

答案 1 :(得分:0)

您可以将代码放在单独的函数中,并在文档就绪事件和onchange事件上调用它;

$('input[type="checkbox"][name="ThisBox"]').change(function() {
    checker($(this));
});

function checker(data){
if(data.is(':checked')){
        $('.ThisDiv').css('display', 'block');     
    } else if (data.is(':not(:checked)')){
        $('.ThisDiv').css('display', 'none');      
    }
};

答案 2 :(得分:0)

使用on代替change,如下所示:

$('input[type="checkbox"][name="ThisBox"]').on("load change", function() {
    if($(this).is(':checked')){
        $('.ThisDiv').css('display', 'block');     
    } else if ($(this).is(':not(:checked)')){
        $('.ThisDiv').css('display', 'none');      
    }
});