Javascript 如何从js内部启动单击或更改功能
问题是,$'menu'.valmenu.trigger'change';和$'.parentcheck'.val0.attr'checked',true.trigger'click';更改它们的状态,但不启动它们的函数$menu.CHANGEFORMATION{和$.parentcheck.clickfunction{。如何处理该问题 我的js代码是这样的Javascript 如何从js内部启动单击或更改功能,javascript,jquery,Javascript,Jquery,问题是,$'menu'.valmenu.trigger'change';和$'.parentcheck'.val0.attr'checked',true.trigger'click';更改它们的状态,但不启动它们的函数$menu.CHANGEFORMATION{和$.parentcheck.clickfunction{。如何处理该问题 我的js代码是这样的 $(document).ready(function () { $("#parent").hide(); $(".pare
$(document).ready(function () {
$("#parent").hide();
$(".parentcheck").click(function () {
if ($(this).val() === "0") {
$("#parent").hide().find('option:selected').removeAttr('selected');
}
if ($(this).val() === "1") {
if ($("#parent option").length > 0) {
$("#parent").show();
}
}
$("#menu").change();
});
$("#menu").change(function () {
var selectedmenu = $("#menu").val();
var parentcheck = $(".parentcheck:checked").val();
if (selectedmenu != '' && selectedmenu != '0') {
$.ajax({
type: "POST",
url: "processor/optionsgenerator.php",
data: {
menu: selectedmenu
},
success: function (result, status, xResponse) {
if (result != '') {
if (parentcheck == '0' || !$(".parentcheck").is(":checked")) {
$("#parent").hide();
} else {
$("#parent").html(result);
$("#parent").show();
}
} else {
alert('Baza ilə əlaqədə problem var.');
$("#parent").hide();
}
},
error: function (e) {
alert(e);
}
});
} else $("#parent").hide();
});
$('#menu').val(menu).trigger('change');
if(parent==0) {
$('.parentcheck').val(0).attr('checked',true).trigger('click');
}
else {
$('.parentcheck').val(1).attr('checked',true).trigger('click');
$('#parent').val(parent);
}
});
在定义更改处理程序之前,您正在触发更改。将触发器移动到代码块的末尾,它就会正常工作。操作顺序?跳跳虎触发时不会设置绑定…那里有很多负面条件…@BradChristie:我能理解错误。在JavaScript中,引用fu是正常的n在您定义它们之前的操作。乍一看,触发事件看起来与调用函数相同。$.parentcheck是否引用实际的复选框元素?@mblase75:引用函数句柄是一回事,这些是未绑定到的触发事件。$'foo'。单击栏;函数栏{}可以接受,但调用尚未正式绑定的内容是不允许的。-请注意,我触发了两次更改,但警报只发出一次。确定所有操作都正常。现在出现了一个问题:我试图从js生成的选择菜单中选择一个选项。正在尝试$'parent'.valparent;但未设置。如何处理?请把它作为一个单独的问题,因为它与这个问题无关。