1

我有这个,

<select id="customUser_id" name="customUser_id">
  <option value="2" label="Friends Of Friends">Friends Of Friends</option>
  <option selected="selected" value="3" label="Friends Only">Friends Only</option>
  <option value="4" label="Specific People">Specific People</option>
  <option value="0" label="Only Me">Only Me</option>
</select>

我想获得Selected Option使用 jQuery 的价值。

目前我正在使用onchange()这样的事件,

$('#customUser_id').change(function(){
    if(($(this).val()==2)){
        $("#customWallPost3").text("Only Friends of Friends can see this");
    }
    else if(($(this).val()==3)){
        $("#customWallPost3").text("Only Friends can see this");
    }
    else if(($(this).val()==4)){
        $("#customWallPost3").text("Only the people above can see this");
    }
    else if(($(this).val()==0)){
        $("#customWallPost3").text("Only I can see this");
    }
    else{
        $("#customWallPost3").text("");
    }
});

这仅在更改选项值时才有效,但我也想以此获得选定的选项值。提前致谢

4

6 回答 6

1

不知道你的要求是什么...

我也想用这个获得选定的选项值..

但要获得选定的选项值,您可以使用

  $('#customUser_id').val();

<select>这为您提供了带有 id的选定值customUser_id

更新

如果您想获取所选选项的文本,那么您可以执行

 $("#customUser_id option:selected").text();
于 2013-02-18T06:29:21.330 回答
1

不确定您的问题,因为 $('#customUser_id').val()它给出了选择的值。

尽管如此,如果您愿意,您可以使用它遍历每个选项,并且可以获取具有selected属性 的元素

$('#customUser_id').children().each(function() {
    if($(this).attr('selected')) {
        // here you have the element with _selected_ attribute
    }
});

如果你愿意,你可以直接得到attribute哪个被选中

var selectedElt = $('#customUser_id').children('[selected=selected]');
于 2013-02-18T06:33:57.930 回答
1

您可以以更友好的方式创建它 - 使用数组和函数:

LIVE DEMO

var arr_Infos = [
  'Only I can see this',                    // option value 0
  '',                                       // option value 1
  'Only Friends of Friends can see this',   // option value 2
  'Only Friends can see this',              // option value 3
  'Only the people above can see this'      // option value 4 (don't use comma)
];


function popoulateInfo(){
   var sel =  $('#customUser_id').find(":selected").val();
   $('#customWallPost3').text( arr_Infos[ sel ] ); 
}
popoulateInfo();             // run immediately

$('#customUser_id').on('change', function(){   
  popoulateInfo();           // run on change
});
于 2013-02-18T06:37:01.897 回答
0

试试这个来获得选定值的值:

$('#customUser_id').val();

这是文档http://api.jquery.com/val/

于 2013-02-18T06:30:30.023 回答
0

您的意思是,如果您希望显示所选选项 - “只有我可以看到这个”或“只有朋友可以看到这个”等......加载时,您可以添加此代码.ready()而不是 on.change()

$('#customUser_id').ready(function(){
if(($(this).val()==2)){
    $("#customWallPost3").text("Only Friends of Friends can see this");
}
else if(($(this).val()==3)){
    $("#customWallPost3").text("Only Friends can see this");
}
else if(($(this).val()==4)){
    $("#customWallPost3").text("Only the people above can see this");
}
else if(($(this).val()==0)){
    $("#customWallPost3").text("Only I can see this");
}
else{
    $("#customWallPost3").text("");
}
});
于 2013-02-18T06:31:16.923 回答
0

使用触发器

$('#customUser_id').change(function(){
    // your code
}).trigger('change');
于 2013-02-18T06:33:37.217 回答