代码之家  ›  专栏  ›  技术社区  ›  Jerome

基于弹出值的条件变量定义

  •  -1
  • Jerome  · 技术社区  · 5 年前

    在下面的javascript中,两个变量由选中的单选按钮值设置。

    但是,有一个边缘情况没有处理。最后一个字符
    $("input[name=Arm]:checked").val(); 为零,例如: 471_SAN_0
    那么,var armpad_图像也应该是 0 . 如何才能最好地处理这个问题?

    $("input[type=radio]").on("change", function() {
      var Arm_image = $("input[name=Frame]:checked").val() + '_' + $("input[name=Arm]:checked").val();
      $("#Arm").attr("src", "/Arm_" + Arm_image + ".png");
      console.log(Arm_image);
      console.log("#Arm");
      var Armpad_image = $("input[name=Armpad]:checked").val();
      $("#Armpad").attr("src", "/Armpad_" + Armpad_image + ".png");
      console.log(Armpad_image);
      console.log("#Armpad");
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <label><div class='row'>
                  <input type="radio" id="SAN_0" name="Arm" value="0" >
                  None
              </div></label>
    <label><div class='row'>
                  <input type="radio" id="SAN_F" name="Arm" value="F" checked="checked">
                  Fixed
              </div></label>
    1 回复  |  直到 5 年前
        1
  •  2
  •   mplungjan Gvidas    5 年前

    只需添加一个变量

    $("input[type=radio]").on("change", function() {
      var armVal = $("input[name=Arm]:checked").val() || "";
      var Arm_image = $("input[name=Frame]:checked").val() + '_' + armVal;
      $("#Arm").attr("src", "/Arm_" + Arm_image + ".png");
      console.log(Arm_image);
      var Armpad_image = armVal.length && armVal.slice(-1) == 0 ? 0 : $("input[name=Armpad]:checked").val();
      $("#Armpad").attr("src", "/Armpad_" + Armpad_image + ".png");
      console.log(Armpad_image);
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    
    
    <label><div class='row'>
                  <input type="radio" id="SAN_0" name="Arm" value="0" >
                  None
              </div></label>
    <label><div class='row'>
                  <input type="radio" id="SAN_F" name="Arm" value="F" checked="checked">
                  Fixed
              </div></label>