如何使用jquery在单选按钮中的select标签中检索值?

时间:2015-07-22 13:19:45

标签: javascript jquery html meteor

我有以下html广播代码。基本上,它有3个单选按钮,用户只能选择一个,我希望jquery代码从被检查的无线电中获取值。

有3个单选按钮,一个用于全天,一个用于N / A,一个用于时间。一旦用户点击时间,它就可以选择标签中12:00到20:00之间的时间。

我知道使用.val()提取其他两个选项的值,但我想知道如何在选择时间单选按钮时提取值。

我正在为这个项目使用Meteor框架,但我想这是一个jQuery问题。

HTML

<tr>
    <td>Monday</td>
    <td><input type="radio" name="mon" value="all">all day</td>
    <td>
        <input type="radio" name="mon" value="time">between 
        <select name="firstTime">
            <option>Time</option>
            <option value="12">12:00</option>
            <option value="13">13:00</option>
            <option value="14">14:00</option>
            <option value="15">15:00</option>
            <option value="16">16:00</option>
            <option value="17">17:00</option>
            <option value="18">18:00</option>
            <option value="19">19:00</option>
            <option value="20">20:00</option>
        </select>
        to 
        <select name="secondTime">
            <option>Time</option>
            <option value="12">12:00</option>
            <option value="13">13:00</option>
            <option value="14">14:00</option>
            <option value="15">15:00</option>
            <option value="16">16:00</option>
            <option value="17">17:00</option>
            <option value="18">18:00</option>
            <option value="19">19:00</option>
            <option value="20">20:00</option>
        </select>
    </td>
    <td><input type="radio" name="mon" value="n/a">N/A</td>
</tr>

3 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

<强> DEMO

$("input[name=mon]").on("change", function(){
    if(this.value=="time"){
        alert("First Time : " + $('select[name="firstTime"] option:selected').text());
        alert("Second Time : "+$('select[name="secondTime"] option:selected').text());
    }

});

<强>更新

对于 demo ,我试图在点击按钮时获取值:

$('.getVal').on('click',function(){
    var selectedoption=$("input[name=mon]:checked").val().trim();
    if(selectedoption=="time"){
        var dispValue="First Time : " + $('select[name="firstTime"] option:selected').text()+ " and Second Time : "+$('select[name="secondTime"] option:selected').text();
        $('.dispSelected').text(dispValue); 
    }
    else
    {
        $('.dispSelected').text(selectedoption + " has been selected"); 
    }

});

答案 1 :(得分:1)

您可以在更改时获取其值,例如:

jQuery("input[type=radio]").on("change", function(){
  alert(this.value); //Will show the value of the selected radio
});

要获取select值,您可以获取它们,例如selects更改时或radios更改时。请检查此fiddle

答案 2 :(得分:0)

如果要在提交表单时获取值,请使用以下代码:

<style name="AppTheme" parent="Theme.AppCompat.Light">
   <item name="colorAccent">@color/red</item>
</style>

但要确保仅在选择$('form').on('submit', function( e ) { e.preventDefault(); var formData = $(this).serialize();//this holds all the form data ...... }); 单选按钮时包含时间,您需要以下代码:

time