如何使用jquery在列表框中的项目上选择默认选择

时间:2011-09-25 18:01:31

标签: javascript jquery json

使用此代码我将代码插入到列表框中。

<select id="lstCodelist" size="17" name="lstCodelist" style="width:100%;height:280px;background-color:#EFEFFB;"></select>

使用此代码我将数据显示在lstCodelist框中。

$.fn.fillSelectDD = function (data) {
    return this.clearSelectDD().each(function () {
        if (this.tagName == 'SELECT') {
            var dropdownList = this;
            $.each(data, function (index, optionData) {
                var option = new Option(optionData.Text, optionData.Value);

                 if ($.browser.msie) {
                    dropdownList.add(option);
                }
                else {
                    dropdownList.add(option, null);
                }
            });
        }
    });
}

这是我调用的函数,可以将一个列表框插入到其他列表中。

function DoInsert(ind) {
            var sourceIndex = $("#lstAvailableCode").val();
            var targetIndex = $("#lstCodelist").val();
            var success = 0;
            var rightSelectedIndex = $("#lstCodelist").get(0).selectedIndex;
            var functionName = "/Ajax/SaveCodeforInsert";
            if (ind == "plan") {
                functionName = "/Ajax/SaveCodeforInsertForPlan";
            }

            $.ajax({
                type: "POST",
                traditional: true,
                url: functionName,
                async: false,
                data: "ControlPlanNum=" + $("#ddControlPlan").val() + "&LevelNum=" + $("#ddlLevel").val() + "&ColumnNum=" + $("#ddlColumn").val() + "&SourcbaObjectID=" + sourceIndex + "&TargetbaObjectID=" + targetIndex + "&userID=<%=Model.userID%>",
                dataType: "json",
                error: function (data) {
                    alert("Error Adding Code");
                    FinishAjaxLoading();
                },
                success: function (data) {
                    if (data == 0) { success = 1; } else { success = data; }
                    // $("#lstCodelist option").eq(1).attr('selected', 'selected')
                    $("#lstCodelist option:first-child").attr("selected", "selected");
                    FinishAjaxLoading();
                }
            });

但在我的成功函数中使用此代码我无法选择assign或hightlight或选择此lstCodelist框。

// $("#lstCodelist option").eq(1).attr('selected', 'selected')
                        $("#lstCodelist option:first-child").attr("selected", "selected");

但是现在我的代码不能正常工作,我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

我认为在选择中,只需使用$("#select_id").val(default_val);选择您需要的值。

http://api.jquery.com/val/