2012-03-19 95 views
3

我有一個由jquery插件剝皮的選擇列表。問題是,當我選擇一個select元素時,post id val()之前的select字段的值和我希望它是html()之間。但如果我把html()而不是val()我得到選擇列表optgroup的整個html。jquery html()而不是val()

在那裏我有問題了jQuery的一部分:

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

(這裏我設置的VAL) 和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>之間的文字選擇onclick而不是它的值?

+0

是這個多選擇或者只是單一的選擇。 – punit 2012-03-19 14:31:24

回答

5

您是否嘗試過使用

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

$(this).text()列出我選擇的所有選項後我選擇一個 – dana 2012-03-19 14:31:30

+0

@dana i'v更新了我的答案 – 2012-03-19 14:33:48

+0

作品像魅力。謝謝! – dana 2012-03-19 14:36:06