输入onchange函数不仅要调用更改

时间:2015-07-23 14:56:06

标签: javascript jquery

因为标题声明我有动态形式,动态添加输入,其中一个输入下拉更改调用val(this)函数,我还想在有人添加此字段时调用此函数,所以当a.AddSpell时点击功能执行

$('div#ChampionInput').on('click', 'a.AddSpell',function(){
    var championName = $(this).closest(".Champion").find(".ChampionInput").val();
    if($.inArray(championName, championsWithExtraSpells)==-1){
                OptionsChampion = '\
                   <option value="Passive">Passive</option>\
                   <option value="Q" selected>Q</option>\
                   <option value="W">W</option>\
                   <option value="E">E</option>\
                   <option value="R">R</option>'
                   ;}
            else{
                OptionsChampion = '\
                    <option value="Passive">Passive</option>\
                    <option value="Q" selected>Q</option>\
                    <option value="Q2">Q2</option>\
                    <option value="W">W</option>\
                    <option value="W2">W2</option>\
                    <option value="E">E</option>\
                    <option value="E2">E2</option>\
                    <option value="R">R</option>\
                    <option value="R2">R2</option>';}
    $(this).siblings('.SpellChanges').append(
    '<div class="Spell" data-id="'+$(this).siblings("div.SpellChanges").children("div.Spell").length+'">\
        <select name="change['+$(this).parent('div').data('id')+'][]" onchange="val(this)">\
           '+OptionsChampion+'\
        </select>\
        <input type="text" name="championSpell['+$(this).parent('div').data('id')+'][]" readonly>\
        <br>\
        <div class="Change">\
        <textarea type="text" size="20" rows="3" cols="50" maxlength="500" name="SpellDescription['+$(this).parent('div').data('id')+'][][]" placeholder="Enter Description" required></textarea>\
            <select name="SpellChange['+$(this).parent('.Champion').data('id')+'][][]">\
               <option value="buff">Buff</option>\
               <option value="nerf">Nerf</option>\
               <option value="new">New</option>\
               <option value="change">Change</option>\
               <option value="bugfix">Bugfix</option>\
            </select>\
            <a href="#" class="AddChange" onclick="return false;">Add Change </a>\
            <a href="#" class="RemoveSpell" onclick="return false;">Remove Spell</a>\
        </div>\
    </div>\
    ');
    //alert($(this).siblings('div.SpellChanges').children('div.Spell').last().children('input').html());
});

警报($(本).siblings( 'div.SpellChanges')的儿童( 'div.Spell')最后()的儿童( '输入')。);这就是我试图针对那个领域,但我不知道如何在其中调用(this)。

这里也是html

<div id="wrap">

<form name="second_form" id="second_form" action="#" method="POST">         
    <select id="season" name="season" onchange="checkseason();">
        <option value="newseasons" selected>Season 3+</option>
        <option value="oldseasons">Season 1, 2</option>
    </select>
    <input id="patch" type="text" name="patch" placeholder="e.g. 4.20" required autofocus><br/>
    <a href="#" id="AddChampion" onclick="return false;">Add Champion</a>
        <div id="ChampionInput">
        </div>
        <br><br>
        <input type="submit" name="submit">
    </form>
</div>

0 个答案:

没有答案