在我的代碼中,我設置了一個名為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相應地檢查并顯示內(nèi)容。<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條經(jīng)驗 獲得超6個贊
假設該${language}值輸出到服務器端的源,那么您需要將其用引號括起來,以便 Javascript 語法正常工作。嘗試這個:
var optionText = '${language}' === 'si' ? item.sinhalaName : item.productName;
$dropdown.append($("<option />", {
value: item.idproduct,
text: optionText
});
添加回答
舉報
0/150
提交
取消