获取单选按钮的值为变量

时间:2014-08-14 05:58:10

标签: jquery

我没有将名为'monType'按钮的radio的值变为变量'type'。我需要操纵 变量'type'。

    ('input:radio[name="monType"]').click( function(){
    var type = $("input:radio:checked").val();

    if (type != "") {
        $.post('/sams/monitor/'+type, {
            type : $("input:radio:checked").val(),
            ajax : 'true'
        }, function(data) {
            var html = '';
            $('#lookupValue').html(html);
            var len = data.length;
            for ( var i = 0; i < len; i++) {
                html += '<option value="' + data[i].id + '">'
                        + data[i].name + '</option>';
            }

            $('#lookupValue').append(html);
            $('#lookupValue').trigger('update-select-list').change();
        },
        'json');
    } else {
        var emptyHtml = '';

        $('#lookupValue').html(emptyHtml);
        $('#lookupValue').trigger('update-select-list').change();
   }
 });

请帮帮我。

3 个答案:

答案 0 :(得分:0)

您在开始时错过了$,同样,您可以在事件功能中使用this

$('input:radio[name="monType"]').click( function(){
    var type = $(this).val();

    if (type != "") {
        $.post('/sams/monitor/'+type, {
            type : type,
            ajax : 'true'
        }, function(data) {
            var html = '';
            $('#lookupValue').html(html);
            var len = data.length;
            for ( var i = 0; i < len; i++) {
                html += '<option value="' + data[i].id + '">'
                        + data[i].name + '</option>';
            }

            $('#lookupValue').append(html);
            $('#lookupValue').trigger('update-select-list').change();
        },
        'json');
    } else {
        var emptyHtml = '';

        $('#lookupValue').html(emptyHtml);
        $('#lookupValue').trigger('update-select-list').change();
   }
 });

答案 1 :(得分:0)

试一试:在开头添加$符号并使用$(this)获取点击单选按钮的实例,它会为您提供价值。

$('input:radio[name="monType"]').click( function(){
    var type = $(this).val();

    if (type != "") {
        $.post('/sams/monitor/'+type, {
            type : type,
            ajax : 'true'
        }, function(data) {
            var html = '';
            $('#lookupValue').html(html);
            var len = data.length;
            for ( var i = 0; i < len; i++) {
                html += '<option value="' + data[i].id + '">'
                        + data[i].name + '</option>';
            }

            $('#lookupValue').append(html);
            $('#lookupValue').trigger('update-select-list').change();
        },
        'json');
    } else {
        var emptyHtml = '';

        $('#lookupValue').html(emptyHtml);
        $('#lookupValue').trigger('update-select-list').change();
   }
 });

答案 2 :(得分:0)

var type = $("input:radio:checked").val();将为您提供已检查整个网页上第一个单选按钮的值。如果您希望选中的名称为monType(例如,已在该组中选中),则需要:

var type = $("input:radio[name=monType]:checked").val();

然而,click事件在用户刚刚点击的单选按钮上触发,当然点击单选按钮会检查它,所以你可以这样做:

var type = this.value; // or $(this).val() if you like, doesn't matter

在处理程序中,this是事件所涉及的DOM元素,它将被用户单击(并检查),因此我们知道它就是这个并且可以直接使用它的值。 / p>