jQuery在jQuery replaceWith中的变化

时间:2017-03-23 01:07:11

标签: javascript jquery

所以我有这样的想法,每当一个人从选择中选择一个选项时,它会显示其他类似的内容:

$('#secbutt').click(function(){
    $('#secnow').replaceWith('<div id="sec" style="width:100px;margin:0px;"><select id="technical" name="sec"><option value="Systems">Systems</option><option value="Technical">Technical</option><option value="Network">Network</option></select></div>');
    $('#secbutt').hide();
});

来自我所做的其他功能的工作,所以如果有人选择了技术,那么应该出现:

&#13;
&#13;
 <div id="technow" style="width:100px;margin:0px;">
          <select name="tech">
               <option>Jen</option>
               <option id="tech">Jeff</option>
               <option>Joms</option>
          </select>
    </div>
&#13;
&#13;
&#13;

这将隐藏:

<span id="itnow">Something is inside</span>

这是我做的jQuery函数:

$("#technical").change(function(){
var val = $(this).val();
  if(val === "Technical"){
    $("#technow").show();
    $("#itnow").hide();
    //$(".showPendings").show();
  }else{
    $("#technow").hide();
    $("#itnow").show();
    //$(".showPendings").hide();
  }

});

我错过了什么吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您可能需要将事件处理程序更改为以下内容:

$("body").on('change', "#technical",function(){
var val = $(this).val();
  if(val === "Technical"){
    $("#technow").show();
    $("#itnow").hide();
    //$(".showPendings").show();
  }else{
    $("#technow").hide();
    $("#itnow").show();
    //$(".showPendings").hide();
  }

});

答案 1 :(得分:0)

$("#technical").change(function(){

由此改变上面的代码行,

$(document).off('change', "#technical").on('change', "#technical",function(){