无法绑定来自 jquery 数据库中 json 值的下拉列表值
Posted
技术标签:
【中文标题】无法绑定来自 jquery 数据库中 json 值的下拉列表值【英文标题】:Not able to bind dropdownlist values coming from json values from databases in jquery 【发布时间】:2021-01-09 13:04:57 【问题描述】:我想根据来自database table
的数据绑定控制值。除了下拉列表值未绑定之外,文本框等所有控件都已绑定。
下面是我的代码
function BindDataTableToJSONProject(strVal)
var ProjectData = JSON.parse(strVal);
var getJSONValue = ProjectData.Table[0];
if (getJSONValue.PROJECT_MANAGER_NAME != "" && getJSONValue.PROJECT_MANAGER_NAME != null)
$('#ContentPlaceHolder1_ddlProjMan').val(getJSONValue.PROJECT_MANAGER_NAME);
</script>
<select name="ctl00$ContentPlaceHolder1$ddlProjMan" id="ContentPlaceHolder1_ddlProjMan" class="form-control">
<option value="0">--Select--</option>
<option value="1">ABC</option>
<option value="2">PQR</option>
<option value="3">XYZ</option>
</select>
下面是我的 json 数据。
ID: 6, MST_ID: 107, PROJECT_NO: "R4G-25-APD-210", CR_NO: "R4G-25-APD-ACR-1212", APPLICATION_NAME: "Workflow for VSAT Application", PROJECT_MANAGER_NAME: "XYZ", …
【问题讨论】:
【参考方案1】:一种方法是循环遍历 select 标记内的 options
,然后检查 .text()
是否等于 PROJECT_MANAGER_NAME
,如果是,则将 selected
true 添加到该选项。
演示代码:
var getJSONValue =
"ID": 6,
"MST_ID": 107,
"PROJECT_NO": "R4G-25-APD-210",
"CR_NO": "R4G-25-APD-ACR-1212",
"APPLICATION_NAME": "Workflow for VSAT Application",
"PROJECT_MANAGER_NAME": "XYZ"
BindDataTableToJSONProject();
function BindDataTableToJSONProject()
if (getJSONValue.PROJECT_MANAGER_NAME != "" && getJSONValue.PROJECT_MANAGER_NAME != null)
//loop through option
$('#ContentPlaceHolder1_ddlProjMan option').each(function()
//get text of option check if equal to pmn
if ($(this).text() == getJSONValue.PROJECT_MANAGER_NAME)
$(this).prop("selected", true) //set slectd true
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="ctl00$ContentPlaceHolder1$ddlProjMan" id="ContentPlaceHolder1_ddlProjMan" class="form-control">
<option value="0">--Select--</option>
<option value="1">ABC</option>
<option value="2">PQR</option>
<option value="3">XYZ</option>
</select>
【讨论】:
嘿斯瓦蒂,感谢您的回答.. 成功了..!!!【参考方案2】:您尝试设置值(即3
)<option value="3">XYZ</option>
但是你选择了文字getJSONValue.PROJECT_MANAGER_NAME == "XYZ"
的参数
【讨论】:
当我尝试使用$('#ContentPlaceHolder1_ddlProjMan').text(getJSONValue.PROJECT_MANAGER_NAME);
时,整个下拉列表变得清晰。!!
因为.text
是改变下拉列表框的全文
@hub 我正在寻找,通常我知道它的价值 - 从我所看到的来看它并不那么容易
@hud 这就是他们的工作:codespeedy.com/select-option-from-dropdown-by-text-in-jquery
@hud 我认为您必须找到其他更好的解决方案来了解 select 上的值 - 发送 jSon 数据上的值以上是关于无法绑定来自 jquery 数据库中 json 值的下拉列表值的主要内容,如果未能解决你的问题,请参考以下文章