我正在尝试将onchange事件绑定到textarea,但这不起作用
$('#Que_dlist_ctl0' + sectionid + '_Inner_dlist tr:nth-child(' + (i + 1) + ')
#Que_dlist_ctl0' + sectionid + '_Inner_dlist_ctl0' + i + '_txtsuggest')
.addClass("clTxt_" + i)
.bind("change",function(){"Validate(this);"});
在渲染的html中,我可以看到根据需要添加的“类”,但不是事件。
还尝试了.attr
而不是bind
。
$('#Que_dlist_ctl0' + sectionid + '_Inner_dlist tr:nth-child(' + (i + 1) + ')
#Que_dlist_ctl0' + sectionid + '_Inner_dlist_ctl0' + i + '_txtsuggest')
.addClass("clTxt_" + i)
.attr("onchange","Validate(this);"});
它在firefox中没有用,即和chrome。
表和控件中的行都是动态生成的,因此是奇怪的id选择器
<textarea class="clTxt_0" name="Que_dlist$ctl00$Inner_dlist$ctl00$txtsuggest"
rows="3" cols="20" id="Que_dlist_ctl00_Inner_dlist_ctl00_txtsuggest"
style="width:300px;"></textarea>
答案 0 :(得分:1)
使用:
.change(function(){
Validate(this);
});
答案 1 :(得分:0)
如果你写$(selector).bind("change",function(){}); or $(selector).change(function(){});
,那么当事件被绑定到textarea时,这将仅绑定到已存在于DOM中的那些textareas。
由于您的行是动态生成的,因此您只需在生成
时向textarea添加一个类<textarea class="gridTextArea" class="clTxt_0"
name="Que_dlist$ctl00$Inner_dlist$ctl00$txtsuggest" rows="3" cols="20"
id="Que_dlist_ctl00_Inner_dlist_ctl00_txtsuggest" style="width:300px;" >
</textarea>
并将其绑定如下,它将绑定到动态创建的行中所有新创建的textareas。
$(document).on("change",".gridTextArea",function(){
//your logic goes here
});
希望这会有所帮助:)