选择文本框中前缀上的单选按钮

时间:2011-12-16 07:59:46

标签: javascript jquery

我有三个单选按钮

<input type=radio id=pp />Product
<input type=radio id=pr />Price
<input type=radio id=bb />both

因此,如果我点击产品,它会向我显示产品,如果我选择价格,则显示产品价格,如果两者同时显示我在文本框中输入的产品的价格和产品。

如果我只使用键盘,我想要的是什么,我在文本框中输入一些前缀,例如产品的pp,价格的pr和两者的bb。因此,如果pp然后无线电产品应该被选中而其他人取消选择。对其他人要求相同

3 个答案:

答案 0 :(得分:2)

这可以通过jQuery轻松实现。

对于要运行该功能的所有文本框具有相同的名称或类,并生成以下代码

$(function() {
    $(".classnameoftextbox").change(function() {
        var txtVal = $(this).val();
        try  {
            $("#"+ txtVal).attr('selected', true);
        }
        catch(ex)  {}
    });
});

答案 1 :(得分:1)

我在文本框中键入了一些前缀,例如产品的pp,价格的pr和两者的bb。因此,如果pp然后无线电产品应该被选中而其他人取消选择。对其他人要求相同

   <input type="text" id="mytext" onkeyup="checkRadio(this);"/>
    <input type=radio id=pp name='filterchk'/>Product 
    <input type=radio id=pr name='filterchk'/>Price 
    <input type=radio id=bb name='filterchk' checked="checked"/>both
<script>
function checkRadio(obj){
    var t = obj.value;
    if(t.substr(0,2)=='pp'){
        document.getElementById('pp').checked = true;
        document.getElementById('pr').checked = false;
        document.getElementById('bb').checked = false;
        }
    else if(t.substr(0,2)=='pr'){
        document.getElementById('pp').checked = false;
        document.getElementById('pr').checked = true;
        document.getElementById('bb').checked = false;
        }
    else{
        document.getElementById('pp').checked = false;
        document.getElementById('pr').checked = false;
        document.getElementById('bb').checked = true;
        }
}
</script>

答案 2 :(得分:-2)

您可以查看jQuery,特别是键盘事件以及如何使用它们......这样您就不必使用文本输入框了。

另一种方法是在onchange事件中放置一个函数来检查框中的字符串是否与后缀匹配,如果匹配,则更改单选按钮选择。