[英]Unable to send 2 values to a javascript function from onchange event of select box
[英]JavaScript function is not defined in head using onchange event
我想選擇一個用戶名並在選擇該名稱后打印一些內容。 但是,為什么未定義“ load_new_content()”?
<html>
<head>
<title>Profile Editor</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js">
$(document).ready(function() {
$("#selectedUserId").change(load_new_content());
});
function load_new_content() {
alert("hello");
}
</script>
</head>
<body>
<?php
error_reporting(-1);
require('Db.php');
$db = new Db();
// var_dump($db);
$userIds = $db -> getUserIds();
echo '<select name="selectedUserId" id="selectedUserId" onchange="load_new_content()">';
echo '<option value="">Choose your CEC User Id</option>';
foreach($userIds as $ID) {
echo "<option>".$ID["user_id"]."</option>";
// echo $userId["user_id"];
// echo $ID['user_id'];
}
echo '</select>';
?>
<script>
標簽聲明錯誤。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <!-- Need this close tag -->
<script> <!-- Need a Open tag -->
$(document).ready(function() {
$("#selectedUserId").change(load_new_content());
});
function load_new_content() {
alert("hello");
}
</script>
這可以通過load_new_content
的調用包裝在一個函數中來解決:
$("#selectedUserId").change(function(){ load_new_content(); });
另外,您不會關閉調用jQuery的<script>
標記,也不會為后續代碼打開新的<script>
標記。 嘗試:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#selectedUserId").change(load_new_content());
});
function load_new_content() {
alert("hello");
}
</script>
兩個問題。 其他人指出的第一個,您的內聯JavaScript需要一個單獨的腳本標簽。
其次,你不能只是做
$("#selectedUserId").change(load_new_content());
頁面加載后,這將僅執行一次功能。
您需要這樣做:
$("#selectedUserId").change(function() { load_new_content() });
(注意另一個函數中的函數調用)
或這個:
$("#selectedUserId").change(load_new_content);
(請注意沒有括號)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.