Jquery,属性选择为动态选择

时间:2014-10-15 13:21:54

标签: javascript jquery

我在javascript中创建了一个select:

        var select = "<select>\
        <option value='1'>1</option>\
        <option value='2'>2</option>\
        <option value='3'>3</option>\
        </select>";

我将此选择动态地放在一个div中:$('div').html(select);

但就在那之后,我需要将attribut selected添加到具有值XXX的THIS动态选择的特定选项(因为它处于循环中)。我在变量中有XXX

我该怎么做?

4 个答案:

答案 0 :(得分:1)

您可以使用attribute equals selector执行此操作:

$('div').find( 'select option[value="' + yourVariable + '"]' ).prop( 'selected', true );

答案 1 :(得分:1)

只需设置其值,即可自动处理所选属性:

$('div').find('select').val(XXX);

更好的方法是使用DOM元素而不是原始HTML:

var select = $(document.createElement('select')).append(
    new Option(1, 1),
    new Option(2, 2),
    new Option("third", 3) // first arg is the text, second is the value
);
    
var selectedValue = "2"; // your variable
select.val(selectedValue);
$('div').empty().append(select);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div></div>

答案 2 :(得分:0)

var select = "<select>\
        <option value='1'>1</option>\
        <option value='2'>2</option>\
        <option value='3'>3</option>\
        </select>";

var div = $('div').html(select);

$(div).find('select').val(2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div />

答案 3 :(得分:0)

HTML代码     

</div>

将select元素绑定到div后,必须使用$("select option[value="+yourval+"]").prop('selected', true)动态选择选项。

jQuery代码

var yourval = '2';
var select = "<select>\
        <option value='1'>1</option>\
        <option value='2'>2</option>\
        <option value='3'>3</option>\
        </select>";

$("div").html(select);


$("select option[value="+yourval+"]").prop('selected', true);

http://jsfiddle.net/q5bo507k/