Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript变量添加到一起_Javascript_Addition - Fatal编程技术网

将javascript变量添加到一起

将javascript变量添加到一起,javascript,addition,Javascript,Addition,有人能帮我解释一下为什么这不能像我期望的那样工作吗。 我试图做的是根据下拉列表添加到javascript变量中 因此: 问题1 如果是x=x+1 问题2 如果是x=x+3 所以如果x=4都是 现在,这不会让x加上x,而是每次都重新设计x <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script> <script> var z=1 var y=

有人能帮我解释一下为什么这不能像我期望的那样工作吗。 我试图做的是根据下拉列表添加到javascript变量中

因此: 问题1 如果是x=x+1

问题2 如果是x=x+3

所以如果x=4都是

现在,这不会让x加上x,而是每次都重新设计x

<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
var z=1
var y=1
</script>
<script>
            $(document).ready(function () {
                $("#checkbox_1").change(function () { 
                if($(this).val() == "Yes") {
                    var x=y;
                    $("#textbox_1").attr('disabled', true);
                    $("#textbox_1").val(x);
                    }
                    else {
                    var x=x-1;
                    $("#textbox_1").attr('disabled', true);
                    $("#textbox_1").val(0);
                    }
                });
            });
</script>   
<script>
            $(document).ready(function () {
                $("#checkbox_2").change(function () { 
                if($(this).val() == "Yes") {
                    var x=y+z;
                    $("#textbox_1").attr('disabled', true);
                    $("#textbox_1").val(x);
                    }
                    else {
                    var x=x-1;
                    $("#textbox_1").attr('disabled', true);
                    $("#textbox_1").val(0);
                    }
                });
            });
</script>    

Do you have your Vheicals Title?<br />
<SELECT class="enteredClassic" id="checkbox_1"/>
<OPTION selected value=No>Select Option</OPTION>
<OPTION value=No>No</OPTION>
<OPTION value=Yes>Yes</OPTION>
</SELECT>
<br />
<br />
Do you earn more then $1,500 per month?<br />
<SELECT class="enteredClassic" id="checkbox_2" />
<OPTION selected value=No>Select Option</OPTION>
<OPTION value=No>No</OPTION>
<OPTION value=Yes>Yes</OPTION>
</SELECT>
<br />
<br />
Your chances of funding: <br />
<SELECT class="enteredYear" id="textbox_1" name=year>
            <OPTION selected value="0">0%</OPTION>
            <OPTION value=1>10%</OPTION>
            <OPTION value=2>20%</OPTION>
            <OPTION value=3>30%</OPTION>
            </SELECT>

var z=1
变量y=1
$(文档).ready(函数(){
$(“#复选框_1”).change(函数(){
如果($(this.val()=“是”){
var x=y;
$(“#文本框_1”).attr('disabled',true);
$(“#文本框_1”).val(x);
}
否则{
var x=x-1;
$(“#文本框_1”).attr('disabled',true);
$(“#文本框_1”).val(0);
}
});
});
$(文档).ready(函数(){
$(“#复选框_2”).change(函数(){
如果($(this.val()=“是”){
var x=y+z;
$(“#文本框_1”).attr('disabled',true);
$(“#文本框_1”).val(x);
}
否则{
var x=x-1;
$(“#文本框_1”).attr('disabled',true);
$(“#文本框_1”).val(0);
}
});
});
你有你的职业头衔吗?
选择选项 不 对

你每月的收入超过1500美元吗?
选择选项 不 对

您的融资机会:
0% 10% 20% 30%
我认为您应该在全局范围内声明x,就像声明y和z一样。您不能使用从未声明过的变量,这是您实际上正在做的事情

var x = x - 1; //uses the variable x which has not been created yet

而不是在函数中变量x,它的y和z是。但我可能不明白您的代码试图实现什么。

清理了您的脚本

<script>
           $(document).ready(function () {
                var x = 0;
                $("#checkbox_1").change(function () { 
                if($(this).val() == "Yes") {
                    x++;
                    $("#textbox_1").prop('disabled', true);
                    $("#textbox_1").val(x);
                    }
                    else {
                    x--;
                    $("#textbox_1").prop('disabled', false);
                    $("#textbox_1").val(x); // I don't understand why this is 0
                    }
                });
                $("#checkbox_2").change(function () { 
                if($(this).val() == "Yes") {
                    x += 3;
                    $("#textbox_1").prop('disabled', true);
                    $("#textbox_1").val(x);
                    }
                    else {
                    x -= 3;
                    $("#textbox_1").prop('disabled', false);
                    $("#textbox_1").val(x); // or this one. shouldn't it be x?
                    }
                });
            });
</script>    

$(文档).ready(函数(){
var x=0;
$(“#复选框_1”).change(函数(){
如果($(this.val()=“是”){
x++;
$(“#文本框_1”).prop('disabled',true);
$(“#文本框_1”).val(x);
}
否则{
x--;
$(“#文本框_1”).prop('disabled',false);
$(“#textbox_1”).val(x);//我不明白为什么这是0
}
});
$(“#复选框_2”).change(函数(){
如果($(this.val()=“是”){
x+=3;
$(“#文本框_1”).prop('disabled',true);
$(“#文本框_1”).val(x);
}
否则{
x-=3;
$(“#文本框_1”).prop('disabled',false);
$(“#textbox_1”).val(x);//或者这个。它不应该是x吗?
}
});
});
编辑以反映更可接受的
.prop
用法,而不是
.attr

标记

<label>
  Do you have your Vheicals Title?
  <select class="enteredClassic" id="title">
    <option selected value="No">select option</option>
    <option value="No">No</option>
    <option value="Yes">Yes</option>
  </select>
</label>

<label>
  Do you earn more then $1,500 per month?
  <select class="enteredClassic" id="income">
    <option selected value=No>select option</option>
    <option value=No>No</option>
    <option value=Yes>Yes</option>
  </select>
</label>

<label>
  Your chances of funding:
  <select class="enteredYear" id="chances" name=year>
    <option selected value="0">0%</option>
    <option value="1">10%</option>
    <option value="3">30%</option>
    <option value="4">40%</option>
  </select>
</label>
CSS

$(document).ready(function () {
  $(".enteredClassic").change(function () {
    var chances = 0;
    if($("#title").val() == 'Yes') chances++;
    if($("#income").val() == 'Yes') chances += 3;
    $("#chances").val(chances);
  });
});
select { 
  display: block;
  margin-bottom: 20px;
}

x
应该是一个全局变量,如y和z。它们在两个复选框轮询之间不共享范围。而且,您的HTML标记非常糟糕。所有属性值都应该有引号。你不仅清理了它,而且还向我展示了我做错了什么!!非常感谢。