Javascript“if”语句问题

时间:2014-06-09 20:38:26

标签: javascript jquery html

因此,当复选框字段上的某些内容被选中时,我会触发一个函数。选择选项后,脚本需要返回,并查看下拉字段是否具有特定值。如果该字段具有该特定值,则需要运行if语句内的代码。如果没有,则需要跳过该代码并转到下一个下拉列表。

代码完全正常工作,从头到尾我需要它。唯一的问题是引用下拉列表的if语句不起作用。无论我在下拉字段中选择什么值,脚本都会运行。

所以var carOp1-8是下拉字段。如果下拉字段选择了“simplex”,那么我需要其中的代码才能运行。我遇到的问题是代码正在运行,无论我每次为下拉字段选择什么。如果声明,那么'var carOp1 ...'的sentex是否有问题?

我也尝试过if(name ==“this”)

这是jsfiddle链接,因此您可以了解我在说什么。  http://jsfiddle.net/upcQ8/ (在我的表单上,当我点击下一个按钮时,页面会自动加载,我不知道如何在JSfiddle上完成这项工作。

这是我正在使用的javascript ...

// Additional Options
$('input[name="item_meta[2002][]"]').change(function(){

var carOp1 = $("select[name='item_meta[2095]']").val();
var carOp2 = $("select[name='item_meta[399]']").val();
var carOp3 = $("select[name='item_meta[405]']").val();
var carOp4 = $("select[name='item_meta[402]']").val();
var carOp5 = $("select[name='item_meta[404]']").val();
var carOp6 = $("select[name='item_meta[403]']").val();
var carOp7 = $("select[name='item_meta[401]']").val();
var carOp8 = $("select[name='item_meta[400]']").val();

var simOpn1 = 0;

// Car 1 Simplex
if (carOp1 ="Simplex") {
    var opn1 = $("#field_open1").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open1").val();
}} 
// Car 2 Simplex
if (carOp2 ="Simplex") {
    var opn1 = $("#field_open2").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open2").val();
}} 
// Car 3 Simplex
if (carOp3 ="Simplex") {
    var opn1 = $("#field_open3").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open3").val();
}} 
// Car 4 Simplex
if (carOp4 ="Simplex") {
    var opn1 = $("#field_open4").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open4").val();
}} 
// Car 5 Simplex
if (carOp5 ="Simplex") {
    var opn1 = $("#field_open5").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open5").val();
}} 
// Car 6 Simplex
if (carOp6 ="Simplex") {
    var opn1 = $("#field_open6").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open6").val();
}} 
// Car 7 Simplex
if (carOp7 ="Simplex") {
    var opn1 = $("#field_open7").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open7").val();
}} 
// Car 8 Simplex
if (carOp8 ="Simplex") {
    var opn1 = $("#field_open8").val();
    if (Number(opn1) >= Number(simOpn1)) {
        var simOpn1 = $("#field_open8").val();
}} 

// Simplex 1 Car Call Security
if ($("input[name='item_meta[2002][]']:checked").val()=="Car Call Security"){   
    var carSec1 = simOpn1;

} else var carSec1 = 0;

    {$("#field_s1calc").val(carSec1).change();} 

}); 

1 个答案:

答案 0 :(得分:4)

您想要我们的JavaScript'=='或'==='。对于字符串,最好在javascript中使用'==='。

例如:

// Car 1 Simplex
if (carOp1 =="Simplex") {
var opn1 = $("#field_open1").val();
if (Number(opn1) >= Number(simOpn1)) {
    var simOpn1 = $("#field_open1").val();
}} 

你必须记住'='正在为某个东西赋值。虽然'=='(和javascript'===')是比较。

编辑:===也匹配类型。所以只需使用'=='。

相关问题