输入有值时,为数字输入添加类名

时间:2016-09-15 21:24:57

标签: javascript

当输入有值时,我使用纯JS尝试向数字输入添加类。 JS的第一部分(添加"已检查"状态)正在工作,但添加类名("选择")的部分未被应用。我有什么想法我做错了吗?

这是一个组合的无线电和数字输入,因此是额外的输入类型。

function select_radio_item_other_button(text_obj, radio_but)
{
    if (document.getElementById)
    {
        el = document.getElementById(radio_but);
        if (el.checked)
            return;
        if (text_obj.value != '')
            el.checked = true;
        text_obj.className += " selected";
    }
}

和HTML

<div class="other">
    <input type="radio" name="radio_21" id="radio_21_22" checked="checked">
    <label for="radio_21_22" id="radio_21_22_amt">
    <input type="number" style="padding-left:0;" name="radio_21_22_amt" id="radio_21_22_amt" value="" min="0" max="50000000" step="1" onblur="javascript:select_radio_item_other_button(this, 'radio_21_22')">
   </label>
</div>

2 个答案:

答案 0 :(得分:0)

托架有点偏,也许是这样的,

function select_radio_item_other_button(text_obj, radio_but) {
    if (document.getElementById) {
        el = document.getElementById(radio_but);

        if (el.checked) {
            return;
        }

        if (text_obj.value != '') {
            el.checked = true;
            text_obj.className += " selected";
        }
    }
}

也不确定if (document.getElementById)应该返回什么,但你想在这里完成什么?它评估为真,但这似乎是一个意想不到的目的!

希望这有帮助!

答案 1 :(得分:0)

全部谢谢 - 我结合使用了您的回复,但这很有效:

function select_radio_item_other_button(text_obj, radio_but)
{
   var el = document.getElementById(radio_but);

    if (text_obj.value != '') {
        el.checked = true;
        text_obj.className += " selected";
    }
}