当下拉选择通过模型改变时,如何触发jquery事件
本文关键字:何触发 事件 jquery 改变 模型 选择 | 更新日期: 2023-09-27 18:28:11
我有一个名称列表,旁边有一个编辑按钮。单击编辑按钮时,操作结果加载一个要编辑的分部,并在文本框中填写名称。在这个部分中,我还有一个下拉列表,显示了图像的文件名列表。我有更改事件的jquery代码来显示所选事件的一个小图像。当我更改下拉选择时,效果很好。但是,当我单击编辑按钮,在文本框中填写名称,并通过模型设置下拉列表的选择时,不会触发更改事件。
如果选择发生了更改,但用户没有更改,是否可以在下拉列表上触发更改事件?
你能在剃刀中的@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>
}
}
}
我必须落后,因为更改事件代码需要首先存在。
谢谢你的建议!