if语句的js变量定义

js variable definition for if statements

尝试自学 js。

我有一个 ajax 请求 运行 returns 数据,其中包括一些文本和一个数字。该数字来自表单中的单选按钮列表,我正在尝试设计一种方案来处理该值,以便:

要写入的文本由以下内容决定: 如果数字是 3,那么它写 "not published" 否则它写 "published"

要写入的文本由以下内容决定: 如果数字是 0,它会写 "in listings" 如果数字是 1,它会写 "in recent transactions" 如果数字是 2,它会写 "in listings and recent transactions"

以下是我的脚本,它总是打印 "not published" 并且总是打印 "in listings and transactions" 而不管从我的 php 脚本返回到页面的值是什么。该值是正确的,我在另一页的 php 中有这些 if 语句,但我需要在此处的 JS 中。

 $.ajax({
            type: "POST",
            dataType: "json",
            url: "add-list.php",
            data: formData,
             success: function(response) {
                      if (response.success) {
                          $("#modal1").modal('hide');
                        $("#add_frame").show();
                        $(".azoning").html(response.zoninga);
                        var transdec = response.transactiona;
                        if (transdec=3) {$(".atrans").html("NOT PUBLISHED");} else {$(".atransaction").html("PUBLISHED");}                          
                        if (transdec=0) {$(".atransaction").html("in LISTINGS.");} 
                        if (transdec=1) {$(".atransaction").html("in RECENT TRANSACTIONS");}
                        if (transdec=2) {$(".atransaction").html("in LISTINGS AND RECENT TRANSACTIONS");}

                        }
                      else {
                          console.log("An error has ocurred: sentence: " + response.sentence + "error: " + response.error);
                      }
                  },
                                contentType: false, 
            processData: false,
                  error: function() {
                      alert("An Error has ocurred contacting the server. Please contact your system administrator");
                  }
              });

我的 js 编码有什么问题?

您正在使用赋值运算符 = 而不是相等比较运算符 =====

这个:

   if (transdec=3) {$(".atrans").html("NOT PUBLISHED");} else {$(".atransaction").html("PUBLISHED");}                          

将 "transdec" 的值设置为 3,然后检查该值是否为 "truthy"。它是非零的,所以实际上代码就像

   transdec = 3;
   if (true) {$(".atrans").html("NOT PUBLISHED");} else {$(".atransaction").html("PUBLISHED");}

=只是设置你需要的值==

if (transdec==3) {$(".atrans").html("NOT PUBLISHED");} else {$(".atransaction").html("PUBLISHED");}                          
if (transdec==0) {$(".atransaction").html("in LISTINGS.");} 
if (transdec==1) {$(".atransaction").html("in RECENT TRANSACTIONS");}
if (transdec==2)....