使用JS(在运行中生成)在选择菜单中设置精确选项

时间:2011-10-05 18:09:06

标签: javascript jquery select

请查看给定的代码。在代码的末尾,我使用$('#parent').val(parent); #parent是动态生成的选择菜单(AJAX)。但$('#parent').val(parent);在我的案例中不起作用。它不会将选择菜单设置为精确值。如何处理这个问题?

我的js代码看起来像

$(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);   
}   
    }); 

0 个答案:

没有答案