jQuery获取特定选项标签选择的值

时间:2013-02-18 06:24:59

标签: php javascript jquery html

我有这个,

<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>

我想使用jQuery获取Selected Option的值。

目前我正在使用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("");
    }
});

这仅在更改选项值时有效,但我也希望用此选项获取选项值。 提前致谢

6 个答案:

答案 0 :(得分:1)

不确定你的要求......

  

我也希望用这个选择值..

但要获取所选的选项值,请使用

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

这会为您提供<select>的选定值,其ID为customUser_id

<强>已更新

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

 $("#customUser_id option:selected").text();

答案 1 :(得分: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]');

答案 2 :(得分: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
});

答案 3 :(得分:0)

尝试此选项以获取所选值的值:

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

以下是文档http://api.jquery.com/val/

答案 4 :(得分:0)

你的意思是,如果你想要显示所选的选项 - “只有我能看到这个”或“只有朋友可以看到这个”等....在加载时, 您可以使用.ready()代替.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("");
}
});

答案 5 :(得分:0)

使用触发器

$('#customUser_id').change(function(){
    // your code
}).trigger('change');