2012-10-31 65 views
1

多選選項選擇我有一個(多)選擇在我的JQM頁面。JQM:關於變更事件

我需要強制選項和值「A」取消選擇的任何其他選項的選擇。

HTML是這樣的:

<select name="select-1" id="select-1" multiple="multiple" data-native-menu="false" /> 
    <option value='A'>a</option> 
    <option value='B'>b</option> 
    <option value='C'>c</option> 
</select> 

我使用像這樣的代碼,但沒有成功... :-(

$("select#select-1").change(function() { 
    $("select#select-1").val('A').attr("selected", false).trigger("refresh"); 
}); 

它看起來像我想的選項到取消選擇被選擇,並且所有其他被取消選擇(排除當前一個)... :-(

甲的jsfiddle是here

+0

做我的理解是正確的:如果與價值選擇=選擇「B」,你想取消與價值選擇= 'A'? – Taifun

+0

是的,這是正確的。 – MarcoS

回答

2

我打得四處一點點你的問題,假設我沒有誤解你的問題(見註釋),這個網頁摘要作品(但可能也有簡單的解決方案...)

如果選擇與價值=」 B'被選擇,那麼值='A'的選項將被取消選擇。

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>if B selected, deselect A</title> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script> 
</head> 

<body> 
    <!-- if B selected, deselect A --> 
    <div data-role="page"> 
    <div data-role="content"> 
     <select name="select-1" id="select-1" multiple="multiple" data-native-menu="false" /> 
     <option id="option-A" value='A'>a</option> 
     <option id="option-B" value='B'>b</option> 
     <option id="option-C" value='C'>c</option> 
     </select> 
    </div><!-- /content --> 
    </div><!-- /page --> 

    <script> 
    $("#select-1").change(function() { 
     var mySelection = $(this).val(); 
     if (mySelection !== null) { 
     if (mySelection.indexOf('B') >= 0) { 
      $("#option-A").attr("selected", false); 
      $('#select-1').selectmenu('refresh'); 
     }; 
     }; 
    }); 
    </script> 
</body> 
</html> 

編輯現在$('#select-1').selectmenu('refresh');更新,現在也工作在jsfiddle

+0

謝謝。我要儘快測試你的代碼。你測試過了嗎? – MarcoS

+0

是,做工精細的Firefox每晚還鉻 – Taifun

+0

對不起,這是行不通的...... :-(我所做的僅僅是創建的jsfiddle來測試它,它不會在所有的工作(既不在FF,也不鉻) 。小提琴是在這裏:http://jsfiddle.net/marcolino/P6XwK/我也改了一下問題,以更好地反映我的使用情況,但果汁是一樣的... – MarcoS