[英]how to trigger jquery event when dropdown selection changes via model
我有一个名称列表,旁边有一个编辑按钮。 单击编辑按钮后,操作结果将加载部分内容进行编辑,并在文本框中填写名称。 在这个部分上,我还有一个下拉列表,显示图像文件名的列表。 我有更改事件的jQuery代码,以显示所选图像的一些图像。 当我更改下拉选择时,就可以正常工作。 但是,当我单击“编辑”按钮并将名称填充在文本框中,并且通过模型设置了下拉菜单的选择时,不会触发change事件。
如果选择更改但用户未更改,是否可以在下拉列表上触发更改事件?
您能否在剃须刀的@if(...){...}行中触发jquery函数。
例如:
@if (m=>m.image.length >0)
{
//do something here to trigger the change event of the drop down list
}
任何帮助将是巨大的!
我认为没有必要在if条件内调用javadcropt事件。您可以执行什么操作来完成文档加载完成事件,也可以基于选择进行图像渲染。 像这样的东西:
$(function (){
var selection = $(#'youdropdownid').val ();
//do the things based on the value.
});
另一种方法是在元素上触发事件处理程序,如下所示:
$( "#yourdropdownd" ).trigger( "change" );
尽管我觉得手动调用事件处理程序是不必要的。
也许您可以执行以下操作:
@if (m=>m.image.length > 0){
<script>
$( "#dropdownlist" ).trigger("change");
</script>
}
通过结合Felix和Qamar的两个建议,我设法使它起作用。
我已经在索引页面上的Jquery代码中,局部元素是其中的一部分。 我将触发代码放在该脚本后面:
@section Scripts
{
<script>
$(function ()
{
'use strict';
$('#cbImages').on('change', function () {
var imgurl = $('#cbImages :selected').val();
if (imgurl != '')
{
$('#imgPhoto').attr('src', '/PowerConnectorImages/' + imgurl);
$('#imgPhoto').show();
}
else
{
$('#imgPhoto').hide();
}
});
});
</script>
@if (Model.PowerConnector.ImageName != null)
{
if (Model.PowerConnector.ImageName.Length > 0)
{
<script>
$(function ()
{
$('#cbImages').trigger('change');
});
</script>
}
}
}
我必须落后,因为更改事件代码必须首先存在。
感谢您的建议!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.