Jquery html() instead of val()


Jquery html() instead of val()

我有一个由jquery插件蒙皮的选择列表。问题是,当我选择一个select元素时,post-idval()之前的select字段的值,我希望它是两者之间的html()。但是如果我放html()而不是val(),我会得到选择列表optgroup的整个html。

jquery中我遇到问题的部分:

$(this).height(selectBoxHeight).change(function(){
    selectBoxSpanInner.text($(this).val()).parent().addClass('changed');
});

(我在这里设置了值)和html:

<select name="123_cat" class ="styled">  
   <?php foreach($subcategories['categories'] as $sc) { ?>
   <optgroup label="<?php echo $sc['name']; ?>">
    <?php foreach ($sc['subcategories'] as $ss){?>                              
             <option id = "123_cat[]" value="<?php echo $ss['sid']; ?>" <?php if (isset($_POST['123_cat'])) { if($ss['sid'] == $_POST['123_cat']) echo 'selected = "selected"';} else { if(in_array($ss['sid'], $the_subcategories)) echo 'selected = "selected"'; } ?>><?php echo $ss['name']; ?></option>
        <?php }?>

如何获取单击时选择的<option></option>之间的文本,而不是其值?

您尝试过使用吗

$("option:selected", this).text()