在Select语句中使用$(“#select-id”)。prop(“selectedIndex”)

时间:2013-01-29 20:21:56

标签: jquery

好的,所以我已经明白使用这个

$("#select-id").prop("selectedIndex")

与此相关

$("#select-id").prop("selectedIndex", 1)

有助于获得我正在寻找的结果,将某些元素传递回select语句,但我找不到任何使用示例。

假设我在选择中有6个元素,我将它们与另一个字段中的某些元素进行比较。建议的方法是什么?我理解使用for循环,然后使用if语句迭代值,但我不太明白如何使用前面提到的.prop语句。

任何帮助都将不胜感激。

function compareAmts($FIELDSwitchText, $FIELDSwitchPull)
{
var SwitchAdv = 0;
temp = $("#FIELD_SwitchPull").val();
var SwitchComm = parseInt(temp.replace(/\,/g,''));

if($("#FIELD_SwitchText").val()!=""){
    SwitchAdv = parseInt($("#FIELD_SwitchText").val());

基本上这会收集信息,然后我需要使用For循环中的2行来获取和设置SelectedIndex,从而选择DropDown

2 个答案:

答案 0 :(得分:2)

如果您尝试在select中按值选择特定选项,请使用val()。例如:

$('#select-id').val('foo');

将选择以下选项:

<select id="select-id">
    <option value="">Please select</option>
    <option value="foo">Foo</option> <!-- jQuery code selects this one -->
    <option value="bar">Bar</option>
</select>

更新

如果您要选择特定的项目索引,则可以使用eq()来获取特定选项。鉴于上述HTML,以下内容还将选择foo选项:

$('#select-id option').eq(1).prop('selected', true);

答案 1 :(得分:0)

var $select = $("#select-id");
var value = $('textarea').val(); // Or whatever

$select.find('option').each(function (index) {
    if ( $(this).text() == value ) { // Or whatever other criteria you have...
        $select.prop('selectedIndex', index);
        return false;
    }
});