为了账号安全,请及时绑定邮箱和手机立即绑定

三元运算符未按预期工作

三元运算符未按预期工作

守着一只汪 2023-05-10 15:25:00
在我的代码中,我设置了一个名为languagevia的变量JSTL。我就是这样做的。<%@ page pageEncoding="UTF-8" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %><c:set var="language" value="${not empty param.language ? param.language : not empty language ? language : pageContext.request.locale}" scope="session" /><fmt:setLocale value="${language}" /><fmt:setBundle basename="text" />我有一个 JQuery 代码,它将language相应地检查并显示内容。<script >    $(function() {        $('#SelecttheCategory').on('change', function() {            alert("${language}");            val = $(this).val();            $.get("DynamicPopProductList?categoryID=" + val, function(responseJson) {                var $dropdown = $("#Selecttheproducts");                $dropdown.empty();                $.each(responseJson, function(index, item) {                    $dropdown.append($("<option />").val(item.idproduct).text($ {                        language                    } == 'si' ? item.sinhalaName : item.productName));                });            });        });    }); </script>如果语言是sinhala我需要显示的item.sinhalaName,如果不是,我将显示item.productName. 无论如何,这不会按预期工作。我没有得到任何东西。但是在我的 中alert,它正确显示language为si.我怎样才能解决这个问题?
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

假设该${language}值输出到服务器端的源,那么您需要将其用引号括起来,以便 Javascript 语法正常工作。尝试这个:


var optionText = '${language}' === 'si' ? item.sinhalaName : item.productName;

$dropdown.append($("<option />", {

  value: item.idproduct,

  text: optionText

});


查看完整回答
反对 回复 2023-05-10
  • 1 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信