我正在建立一个简单的聊天,我被困在前端。
我想在加载聊天窗口之前询问用户他的名字和所需的房间,我需要一些变量中的数据。问题是浏览器只记录undefined
。我也尝试直接从代码和Chrome控制台进行日志记录。
var nameChoice, roomChoice;
var init = function() {
$("#init-name").removeClass("hidden").animate({"left" : "35%"}, 300); //slide in name form
$("#init-name .btn-form").click(function() {
nameChoice = $("#init-name input").value; //save chosen name in nameChoice?
console.log(nameChoice); //debug
$("#init-name").animate(
{"left" : "-35%"}, 300,
function() {
$(this).addClass("hidden");
$("#init-room").removeClass("hidden");
$("#init-room").animate({"left" : "35%"}, 300);
}); //remove name form and slide in room form in callback
});
$("#init-room .btn-form").click(function() {
roomChoice = $("#init-room select").value; //save chosen room in roomChoice?
console.log(roomChoice); //debug
$("#init-room").animate(
{"left" : "-35%"}, 300,
function() {
$(this).addClass("hidden");
$("#chat-main").removeClass("hidden");
}); //remove room form and show page in callback
});
}
$(document).ready(init);
它是否必须对变量范围做任何事情(我确实将它们从任何函数中删除)?
答案 0 :(得分:3)
更改此
nameChoice = $("#init-name input").value; //save chosen name in nameChoice?*
到这个
nameChoice = $("#init-name input").val(); //save chosen name in nameChoice?*
还有这个
roomChoice = $("#init-room select").value; //save chosen room in roomChoice?
到这个
roomChoice = $("#init-room select").val(); //save chosen room in roomChoice?
答案 1 :(得分:1)
您需要使用val
函数才能获取值。
// Get the value from a dropdown select
$( "select.foo option:selected").val();
// Get the value from a dropdown select even easier
$( "select.foo" ).val();
// Get the value from a checked checkbox
$( "input:checkbox:checked" ).val();
// Get the value from a set of radio buttons
$( "input:radio[name=bar]:checked" ).val();