2012-04-16 72 views
0

我不知道爲什麼這不起作用。任何人都在關心刺傷?爲什麼不根據其他值下拉更改?

我用下面的表格。當用戶在#frmcomments中選擇「禁用」選項時,我希望#frmstatus更改爲private的選項值。

<label for="type">Comments:</label> 
<select class="sort-select" id="frmcomments" name="frmcomments"> 
    <option value="enabled">Allow Comments</option> 
    <option value="disabled">No Comments</option> 
</select> 



<label for="type">Status:</label> 
<select class="sort-select" id="frmstatus" name="frmstatus"> 
    <option value="public">Anyone can see</option> 
    <option value="private">Only I can see</option> 
</select> 

我正在使用下面的jquery,但它的失敗?

$('#frmcomments').change(function() { 
    var thistype = $(this).find(":selected").val(); 

    if(thistype=="disabled") { 
     $("#frmstatus").val("private"); 
    } 

    return false; 
}); 
+1

工作對我來說:http://jsfiddle.net/HzrKT/ – 2012-04-16 14:39:43

+0

我爲好; http://jsfiddle.net/UnkBV/1/ – veeTrain 2012-04-16 14:43:07

+0

奇怪。如果我在提交時檢查表單值,它將顯示爲私有值 - 但顯示不會更改。 – Mike 2012-04-16 14:43:57

回答

1

檢查您的thistype值。您應該可以撥打電話val()select,您不必撥打.find(":selected")即可獲取選定的列表項。

+0

有關信息,請參閱以下片段:http://jsfiddle.net/22zsW/ – Ropstah 2012-04-16 14:40:39

+0

如果我拋出警報以輸出thistype,它將禁用喊話。如果我刪除.find(「:selected」)部分,也是如此。 – Mike 2012-04-16 14:40:46

+0

@Mike:查看片段... – Ropstah 2012-04-16 14:41:00

0
$('#frmcomments').change(function() { 
    var thistype = $(this).val(); 

    if(thistype=="disabled") { 
     $("#frmstatus").val("private").change(); 
    } 
    return false; 
}); 
0
var thistype = $(this).find(":selected").val(); 

試試這個

var thistype = $(this).val();