2013-08-07 1 views
0

Я пытаюсь изменить значение поля со списком searchAttr на основе переключателя. Вот рабочий фрагмент того, что у меня до сих пор.Как динамически изменять поиск comboboxAttr на основе переключателя в додзё?

<html> 
 

 
<head> 
 
    <title>Test</title> 
 

 

 
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dijit/themes/claro/claro.css"> 
 

 
    <script> 
 
    dojoConfig = { 
 
     parseOnLoad: true 
 
    } 
 
    </script> 
 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script> 
 

 

 
    <script type="text/javascript"> 
 
    require([ 
 
     "dojo/store/Memory", "dijit/form/ComboBox", "dojo/domReady!" 
 
    ], function(Memory, ComboBox) { 
 
     var infoStore = new Memory({ 
 
     data: [{ 
 
      "prop1": "a1", 
 
      "prop2": "a2" 
 
     }, { 
 
      "prop1": "b1", 
 
      "prop2": "b2" 
 
     }, { 
 
      "prop1": "c1", 
 
      "prop2": "c2" 
 
     }] 
 
     }); 
 

 
     var comboBox = new ComboBox({ 
 
     id: "combo_id", 
 
     name: "info", 
 
     store: infoStore, 
 
     searchAttr: "prop1" 
 
     }, "combo_id"); 
 
    }); 
 
    </script> 
 

 
</head> 
 

 
<body class="claro"> 
 

 

 
    <div> 
 
    <input type="radio" name="searchType" id="search_type_one" /> 
 
    <label for="search_type_one">Search Type One</label> 
 

 
    <input type="radio" name="searchType" id="search_type_two" /> 
 
    <label for="search_type_two">Search Type Two</label> 
 

 
    </div> 
 

 
    <input id="combo_id" /> 
 
    <p> 
 
    <button onClick="alert(dijit.byId('combo_id').get('value'))">Get value</button> 
 
    </p> 
 

 
</body> 
 

 
</html>

Вот псевдо-код для того, что я пытаюсь сделать

searchAttr: function (item){ 
    if (searchType.value == "one"){ 
     return item.prop1; 
    } else if (searchType == "two"){ 
     return item.prop2; 
    } 
} 

ответ

0

ваниль способ сделать это, чтобы связать обработчик onChange событий в вашем require обратного вызова селектор типа input[name=searchType], обновление comboBox.searchAttr каждый раз, когда происходит событие изменения.

Может быть более подходящий для Dojo способ сделать это, но я не могу с этим поделать!

 Смежные вопросы

  • Нет связанных вопросов^_^