更改选择选项时,JS隐藏按钮

时间:2014-09-29 07:54:25

标签: javascript jquery onchange

我的形式很简单:

<form action="">
    <select name="gender" onchange="myFunction()">
        <option value="m">male</option>
        <option value="f">female</option>
    </select>
    <input type="hidden" name="user_id" value="1">
    <input type="submit" id="save1" value="Save">
</form>

<form action="">
    <select name="gender" onchange="myFunction()">
        <option value="m">male</option>
        <option value="f">female</option>
    </select>
    <input type="hidden" name="user_id" value="2">
    <input type="submit" id="save2" value="Save">
</form>

JS:

function myFunction() {
    $("#save").first().hide();
}

我想隐藏按钮&#34; Save&#34;只有选择(&#39;性别&#39;)为每个用户(表单)更改了选项。

问题是,当我为用户2更改性别时,则用户1的按钮隐藏。

注意:有许多表单和用户

5 个答案:

答案 0 :(得分:3)

试试这个:

$("select").change(function() {
  $(this).parent("form").find("input[type='submit']").hide();
});

答案 1 :(得分:1)

试试这个:

$("select").on("change", function() {
    $(this).parent().children('input[type=submit]').hide();
});

工作Fiddle

答案 2 :(得分:0)

或者像这样:

$('form>select').change(function(e){
    $(e.currentTarget).siblings("input[type='submit']").hide();
});

答案 3 :(得分:0)

你应该在表单上使用jquery,绑定动作并在'select'框中触发,然后使用兄弟姐妹找到该表单中的按钮。 示例:

$('form').on('change', 'select', function() {
    var condition = ($(this).val() && $(this).val() != ""); // true : show button, false : hide button
         $(this).siblings('input[type="submit"]').toggle(condition);
})

答案 4 :(得分:0)

试试这个: - FIDDLE

$("select").on("change",function () {
$(this).parent().find("input[type=submit]").hide();
});