问题:
我从Ajax jQuery创建标记元素(<select>
),但有时我无法从中获取值,有时我可以得到它。
假设元素id是:proyek。
当我尝试安装它时:$('#proyek').val()
,它显示undefined
,但在我重新加载并再次尝试进程后,它表示它具有值17
(正确的值)。
所以有时我可以得到价值,有时候我不能。
整个代码:
html:<span id="generateProyek"></span>
jQuery:$("#generateProyek")
.load("{{
this.url.getBaseUri()~"companyprojectdetail/ajaxproyek/"
}}"+id,function(){});
*注意:我使用伏特,它使用
{{ }}
来回应一些东西。
答案 0 :(得分:0)
jQuery无法直接处理页面加载后创建的元素。 要完成此操作,请使用委派。 由于我不了解您的代码,我将展示一种情况:
我们有一个div:$('#to_be_loaded_into')
现在,当我们点击$('#proyek')
(使用ajax请求创建)时,我们想要获取值:
$('#to_be_loaded_into').on('click, '#proyek', function(){
console.log($('#proyek').val();
)};
编辑:尝试更具体地了解您的元素,它可能是:
$('#generateProyek').on('click, '#proyek', function(){
console.log($('#proyek').val();
)};
我必须先处理已加载到html中的元素,然后引用已动态渲染的元素