如何根据单选按钮选项触发不同的功能?

时间:2015-07-08 19:35:12

标签: javascript jquery html autocomplete radio-button

我在尝试根据单选按钮选项触发两个不同的功能时遇到了麻烦。

我有一个自动填充字段,但必须通过radiobutton选项设置源。 我该怎么办?

到目前为止,我已经这样做了:

var autocompleteOne = [
  "Item 01",
  "Item 02",
  "Item 03",
  "Item 04",
  "Item 05"  
];

var autocompleteTwo = [
  "Item 01.2",
  "Item 02.2",
  "Item 03.2",
  "Item 04.2",
  "Item 05.2"  
];


$('#options').blur(function(){
  if(document.getElementById("optionA").attr(checked, true{
    $("#autocompleteCaseOne").autocomplete({												  source: autocompleteOne
    });
  }
  if(document.getElementById("optionB").attr(checked, true{
    $("#autocompleteCaseTwo").autocomplete({												  source: autocompleteTwo
    });
  }	
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<div>
  <label>Choosing option</label>
    <input type="radio" name="options" value="yes" id="optionA" />Yes
    <input type="radio" name="options" value="no" id="optionB" />no
</div>
<div>
  <label>autocomplete function result</label>
  <input type="text" id="options" name="autocompleteOptions">
</div>

由于

2 个答案:

答案 0 :(得分:0)

如果您打算定位更改单选按钮事件,则应使用.change().click()来触发自动完成源的更改。

这样的东西
$("input[name='options']").change(function(event) {
  if ($(this).val() == "yes") 
    $("#options").autocomplete('option', 'source', autocompleteOne);
  else if ($(this).val() == "no") 
    $("#options").autocomplete('option', 'source', autocompleteTwo);
});

答案 1 :(得分:0)

几乎是正确的,但自动完成功能不正确。以下是正确的完整代码。

  $("input[name='options']").change(function(event) {
    if ($(this).val() == "yes") 
      $("#options").autocomplete({
          source: autocompleteOne
      });
    else if ($(this).val() == "no") 
      $("#options").autocomplete({
          source: autocompleteTwo
      });
  });