2014-09-26 152 views
0

我有一個php腳本,輸出多個div,在每個div是一個具有特定值的單選按鈕。我想通過單擊div時選擇單選按鈕來創建更好的用戶體驗,這在使用jquery時不是什麼大問題。問題是,單擊單選按鈕本身而不是div時,以下單擊不再具有選擇單選按鈕的效果。我也嘗試刪除每個單選按鈕上的檢查屬性,然後檢查選定的屬性,但這不起作用。下面是我該怎麼做:javascript jquery選擇單選按鈕

$(".fontCellDiv").click(function(){ 
    $(this).find("input").attr("checked", true); 
}); 

有沒有人有想法?

+1

無法清楚地知道你想要什麼,併發布html或小提琴鏈接plz。 – 2014-09-26 06:57:44

回答

0

使用.prop(),而不是.attr()

從文檔:

屬性與屬性

屬性和性能之間的差異可以在 具體情況非常重要。在jQuery 1.6之前,.attr()方法有時在檢索某些屬性時會考慮屬性值, 可能會導致行爲不一致。從jQuery 1.6開始,.prop() 方法提供了顯式檢索屬性值的方法,而 .attr()檢索屬性。

+0

是的,這是解決方案,我仍然不明白爲什麼attr()不做這項工作。 – user1563232 2014-09-26 07:21:01

+0

請閱讀我寄給您的完整文檔。另外,如果一個答案解決了你的問題,你應該「接受」它作爲正確的答案 – Itay 2014-09-26 14:57:07

0

$(".fontCellDiv").click(function(){ 
 
    $(".fontCellDiv").find("input").removeAttr('checked'); 
 
    $(this).find("input").attr("checked", true); 
 
});
.fontCellDiv{ 
 
    width: 100px; 
 
    background-color: #0f0; 
 
    margin-bottom: 5px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<div class="fontCellDiv"> 
 
    <input name="sameGroup" type="radio" /> 
 
</div> 
 
<div class="fontCellDiv"> 
 
    <input name="sameGroup" type="radio" /> 
 
</div> 
 
<div class="fontCellDiv"> 
 
    <input name="sameGroup" type="radio" /> 
 
</div>

檢查該樣品。