选择框的jQuery选择器

时间:2011-07-15 16:05:33

标签: jquery jquery-selectors

我有以下代码

$("#tlbQueryConf tr:last").append(
    $('<td></td>').append(
        $(".ddlFields").clone().attr('id', 'ddlFields-' + conf.id).attr('class', '').val(conf.field)));

所以现在,我正在努力实现它的属性selected将新元素赋予我选择的值

我试过这样,但是将属性selected设置为元素而不是项目

$(".ddlFields").clone().attr('id', 'ddlFields-' + conf.id).attr('class', '').val(conf.field).attr('selected',true)

导致其跟随

的html
<select name="ctl00$ContentPlaceHolder1$ddlFields" id="ddlFields-1" class="">
    <option value="1">Prueba</option>
    <option value="2">cantidad de fallas</option>
    <option value="3">nº</option>
    <option value="4">Ciudad</option>
    <option value="5">COID</option>
    <option value="6">COID_DESC</option>
    <option value="7">Creado_EN</option>
    <option value="8">DSLAM PROVEEDOR</option>
</select>

注意

即使使用val()属性selected,也未设置为项目

3 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题(如果我误解了,请纠正我),你想改变下拉列表的选择吗?

你可以这样做:

$(".ddlFields").val("value of the item you want selected");

您可以像这样检索所选的值:

$(".ddlFields").val();

您不必担心设置自己的selected属性,jquery会在您设置列表值时为您处理。

有关详情,请参阅此重复提问:Change the selected value of a drop-down list with jQuery

答案 1 :(得分:2)

当您选择其中一个选项时,您正在为selected=selected元素添加select属性。试试这个:

$("#tlbQueryConf tr:last").append(
    $('<td>', {
        html: $(".ddlFields").clone()
            .attr({'id':'ddlFields-' + conf.id,'class':''}).val(conf.field)
    })
);

http://jsfiddle.net/hunter/aEVt2/

答案 2 :(得分:1)

您要选择哪个项目?根据您的代码,它会将所选属性添加到select标记。您应指定要选择的选项。试试这个

$(".ddlFields").clone().attr({ 'id': 'ddlFields-' + conf.id, 'class': ''}).val(conf.field);