我有一个包含单选按钮选项的表单,我想用它来指示一组变量的值。
单选按钮如下:
<table style="width:90%">
<tr><td><input type="radio" id="opt1" name ="selectOpt" value="option1"
checked="checked"/> Option 1</td><td><input type="radio" id="opt2" name ="selectOpt"
value="option2"/> Option 2</td></tr>
</table>
我能够回声单选按钮的值
<p id="selection">
<?php echo $_POST["selectOpt"];?></p>
所以我确信变量正在被继承。由于我将 $_POST 值传递给元素,以便用户看到选择了哪个值,因此我想我会使用元素 ID 来获取我的 if-else 语句的值。
下面是我的if-else语句的样子:
$(document).ready(function () {
var template = $("#selection").text();
if(template == 'option1'){
var part1 = "beautifulweather";
var part2 = "ishouldgooutside";
}
else if(template == 'option2'){
var part1 = "isthatrain";
var part2 = "imstayinginside";
}
weather = "www.weather.com/" + part1 + "ithink" + part2;
然后,我将此URL传递给一个按钮,该按钮有一个空的href,其中包含以下行:
var a = document.getElementById('weatherbtn');
a.href = weather;
但是,每当我单击链接时,第 1 部分
我在这里做错了什么?
解决
我需要改变的一般格式问题(几乎这里的每个人都指出了):我需要首先声明我的变量,并从if-else语句(第1部分/第2部分)中被赋值的变量中删除var关键字。
我还绕过了
元素并直接在模板变量中传递回声。工作代码如下所示:
$(document).ready(function (){
var part1, part2, template;
var template = '<?php echo $_POST["selectOpt"];?>';
if(template == 'option1'){
part1 = "beautifulweather";
part2 = "ishouldgooutside";
}
else if(template == 'option2'){
part1 = "isthatrain";
part2 = "imstayinginside";
}
天气="www.weather.com/"part1"我认为"part2;
谢谢大家——尤其是cdhowie关于JS不是块范围的说明。那快把我逼疯了。
您需要在if/else之外定义变量
var part1;
var part2;
if(template == 'option1'){
part1 = "beautifulweather";
part2 = "ishouldgooutside";
}
else if(template == 'option2'){
part1 = "isthatrain";
part2 = "imstayinginside";
}
<p id="selection">
<?php echo $_POST["selectOpt"];?></p>
id不是样式的一部分。所以你必须从
标记,否则id未设置,$(“#selection”)
将不会返回对象。所以使用上面的代码,它应该可以工作。
问候语
以下是我看到的问题:
$(document).ready(function () {
var template = $("#selection).text();
// ^
// Missing closing quote mark
if(template == 'option1'){
var part1 = "beautifulweather";
var part2 = "ishouldgooutside";
}
else if(template == 'option2'){
var part1 = "isthatrain";
var part2 = "imstayinginside";
// Duplicate definition of variables. JavaScript is not block-scoped.
}
// It's possible that the template variable does not match either string.
// Therefore, the part1 and part2 variables might not be assigned here.
weather = "www.weather.com/" + part1 + "ithink" + part2;
要解决前两个问题:
$(document).ready(function () {
// Always declare variables first!
var template, part1, part2;
template = $("#selection").text();
// Add quote mark ^
if(template == 'option1'){
// Remove "var" keyword.
part1 = "beautifulweather";
part2 = "ishouldgooutside";
}
else if(template == 'option2'){
// Remove "var" keyword.
part1 = "isthatrain";
part2 = "imstayinginside";
}
weather = "www.weather.com/" + part1 + "ithink" + part2;
要解决第三个问题(模板
不匹配任一字符串),请考虑在调试时通过例如警报(JSON.stringify(模板))
显示模板
的值。字符串可能(并且很可能,考虑到您的标记)包含一些空格字符。我希望解决方案是将您的标记更改为:
<p id="selection"><?php echo $_POST["selectOpt"];?></p>
Swift 条件语句 一个 if 语句 后可跟一个可选的 else if...else 语句,else if...else 语句 在测试多个条件语句时是非常有用的。 当你使用 if , else if , else 语句时需要注意以下几点: if 语句后可以有 0 个或 1 个 else,但是如果 有 else if 语句,else 语句需要在 else if 语句之后。 if 语句后可以有 0
else语句可以与if语句结合使用。 else语句包含else语句中的条件表达式解析为0或FALSE值时执行的代码块。 else语句是一个可选语句, else后面最多只能有一个else语句。 语法 (Syntax) if...else语句的语法是 - if expression: statement(s) else: statement(s) 流程图 (Flow Diagram) 例
问题内容: 当我对目录()使用函数时,代码工作良好,但是当我调用文件()时,代码返回错误。 我在if / else语句中看到了这个问题(即使返回也可以运行),但是我不知道如何在promises中正确使用它。 问题答案: 返回一个承诺,这始终是一个真实的价值。您需要将条件放入回调中才能访问布尔值:
我只是在学习编码,所以我遇到了“k不能解决”的问题。 我以前尝试过引入变量,如果运算符by: 我预期输出为2 相反,无法解析got k
问题内容: 我刚刚开始学习go lang,而对于在go lang中声明变量感到困惑 例如我已经声明,里面if … else语句。 但是终端出现错误 好像我在If语句中声明的任何内容都不起作用…我该如何解决? 问题答案: 因为变量仅在声明它们的范围内定义: 去玩 之间的区别,并是仅仅是分配和对变量的声明和分配新建分配FY语法 这个: 等效于: 您可能想要的是:
主要内容:if 语句,实例,if...else 语句,实例,if...else if...else 语句,实例,if...else 嵌套语句,实例Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: if 语句 if 语句有布尔表达式及之后的语句块组成。 语法 if 语句的语法格式如下: 如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。 实