Jquery/PrimeFaces更改下拉列表的值

问题描述:

为了响应onChange事件,我需要更改下拉列表的值 - 使用Prime Faces和JQuery来达到此目的 - 以下是我使用的示例代码,它看起来不像可以按预期工作(我下降的状态下不会改变,因为我需要它)Jquery/PrimeFaces更改下拉列表的值

if (myCondition == 'Y') { 
    var handle = $(PrimeFaces.escapeClientId(myComponent)); 
    handle.prop('value', 'Y'); 
      handle.attr('value', 'Y'); 
} 

感谢

您可以使用JQuery的.val()功能更改选择元素的值:

if (myCondition == 'Y') { 
    $(PrimeFaces.escapeClientId(myComponent)).val('Y'); 
} 

注意:escapeCliendId()函数的名称有点误导。它返回元素的id(正确转义),但前面加了一个#字符,所以它确实返回一个id选择器。 (reference

+0

PrimeFaces.escapeClientId函数来自primefaces.js,它只是一个包装js函数,用于将冒号“:”替换为前面的双反斜杠。 'escapeClientId:函数(){返回 “#” + a.replace(/:/克, “\\:”)}' –