我无法让.trigger("change")
工作。谁知道为什么?
jQuery(document).ready(function () {
jQuery("select[id='DROPDOWNID']").change(function () {
var selectedIndex = jQuery("select[id='DROPDOWNID']").prop('selectedIndex');
switch (selectedIndex) {
case 0:
hideVarforProspekt();
break;
case 1:
hideOrdervarde();
break;
case 2:
break;
case 3:
hideSektor();
break;
}
});
** jQuery("select[id='DROPDOWNID']").trigger("change"); **
function hideVarforProspekt() {
jQuery("input[id='IDFROMSHAREPOINT']").closest('tr').hide();
}
function hideSektor() {
jQuery("table[id='IDFROMSHAREPOINT']").closest('tr').hide();
}
function hideUppskOrder() {
jQuery("input[id='IDFROMSHAREPOINT']").closest('tr').hide();
}
});
答案 0 :(得分:32)
应在调用.trigger('change')
或.change()
以下是两种情况。
场景1:在定义更改事件之前调用它。
$(document).ready(function()
{
$('#selector').change(); or $('#selector').trigger('change');
$('#selector').on('change', function(){
});
});
场景2:在调用之前定义了更改事件处理程序
$(document).ready(function()
{
$('#selector').on('change', function(){
});
$('#selector').change(); or $('#selector').trigger('change');
});
对于我来说,当我使用scenario2时,问题已修复。希望这会有所帮助!!
答案 1 :(得分:3)
有时不需要使用触发器:
// use just jQuery("#DROPDOWNID") instead
var select = jQuery("select[id='DROPDOWNID']");
// placing the handler in separate function
var changeHandler = function () {
var selectedIndex = select.prop('selectedIndex');
switch(selectedIndex) {
case 0:
hideVarforProspekt();
break;
case 1:
hideOrdervarde();
break;
case 2:
break;
case 3:
hideSektor();
break;
}
}
// cache your jQuery selectors. It's a good practice
// and improves the readability
select.change(changeHandler);
// triggering
changeHandler();
答案 2 :(得分:2)
以下是使用id语法的工作版本:
$(document).ready(function () {
$('select[id=car]').change(function () {
alert("change: " + $(this).val());
});
$("#car").trigger('change');
});
答案 3 :(得分:1)
使用了这个:
jQuery("#DROPDOWNID").trigger("change");
您可以查看给定的链接Demo
HTML代码
<select id="car">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
Jquery代码
$(document).ready(function(){
$("#car").change(function(){
alert("change");
});
$("#car").trigger('change');
});
结果:
火灾警报
从所有选择器中移除 id = ,并将其替换为 #selected id
答案 4 :(得分:1)
$('#selector').change();
或
$('#selector').trigger('change');
// 第二个对我有用。但是你应该在change事件定义之后调用它
答案 5 :(得分:0)
.change()
事件一直等到输入字段失去焦点,因此在单击或跳出字段之前不会触发它。
因此,您可以在.blur()
事件之后添加.change()
事件,如下所示:
var $element = jQuery("select[id='DROPDOWNID']");
$element.change(function () { ... });
$element.blur();
或者您可以使用其他活动而不是.change()
,例如.keyup()
,.paste()
等
答案 6 :(得分:0)
试试这个,它应该有用
tbl_tool_use