如何从带标签的单选按钮中提取值?

时间:2015-06-29 16:56:16

标签: javascript jquery html

关于问题getting the text of radio button instead of values,如何从带标签的单选按钮中提取值?

我没有在那里发布这个问题,我觉得它不符合原来的问题。

您如何获得所选收音机的价值?我已经尝试了$("input[type='radio'][id='rblUnitOfMeasureType']:checked").val()$("input[type='radio'][id='rblUnitOfMeasureType']:checked + label").val(),它们都返回undefined。

我正在使用一个表单,但表单只是作为一个from标签,其余的html基本上是一个无形的形式(如果这是有道理的)。

	function listUnitOfMeasureSet_change() {
	  if (listUnitOfMeasureSet.value.toString().toLowerCase() === "new") {
	    $("#divNewTypeUnitContentHolder").html("");

	    callService("GET", g_WebServiceUnitsOfMeasureTypeUnitsURL, null, function(jsonResult) {
	      if (jsonResult.Success) {
	        for (i = 0; i < jsonResult.UnitOfMeasureTypeList.length; i++) {
	          $("#divNewTypeUnitContentHolder").html($("#divNewTypeUnitContentHolder").html() +
	            '<input type="radio" id="rblUnitOfMeasureType' + i + '" name="rblUnitOfMeasureType" value="' +
	            jsonResult.UnitOfMeasureTypeList[i].ID + '" /><label for="rblUnitOfMeasureType' + i + '">' +
	            jsonResult.UnitOfMeasureTypeList[i].Name + '</label> ' +
	            jsonResult.UnitOfMeasureTypeList[i].Description + '<br />');
	        }
	      }
	    });

	    $("#divNewUnitOfMeasure").dialog("open");
	  }
	}

3 个答案:

答案 0 :(得分:2)

第一个应该有效,另一个选择是使用.attr('value')

&#13;
&#13;
$('input').click(function(){
    console.log($("input[type='radio'][id*='rblUnitOfMeasureType']:checked").val());
    console.log($("input[type='radio'][id*='rblUnitOfMeasureType']:checked").attr('value'));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type='radio' id='rblUnitOfMeasureType' value='15'>
<input type='radio' id='rblUnitOfMeasureType4' value='17'>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果检查首先检查的那个,然后检查是否使用该选择器:

("#input_test").attr('text')

它返回无线电输入中的文本。

答案 2 :(得分:0)

radio上选择触发功能并捕捉其详细信息如下:

$("input:radio[name=radios]").click(function() {
    alert($(this).val());
    alert($(this).parent().next().find('label').text());
});

参考html:

<table>
    <tr>
      <td>
        <input id="radio1" name="radios" type="radio" value="radio 1"/>
      </td>
      <td>
        <label for="radio1">
          check radio 1
        </label>
      </td>
    </tr>
    <tr>
      <td>
          <input id="radio2" name="radios" type="radio" value="radio 2"/>
      </td>
      <td>
        <label for="radio2">
          check radio 2
        </label>
      </td>
    </tr>
  </table>

jsfiddle也是如此。