2017-07-05 85 views
-1

我目前正在开发一个web应用程序,链接草案:http://webtrickssolutions.in/ayna/new-Building.html#的JavaScript的onclick创建元素(标签)

我有问题,JavaScript编码,在“OK”按钮按下时,应添加行的数据填充“下方语言“和”文本“/新行应为标签。例如,如果我加两次:

英语“BuildingName01”(删除图标) 阿拉伯语“XXXXX05”(删除图标)

,它应该从下拉菜单中删除英语和阿拉伯语,因为我不能选择该语言两次。

当前的JavaScript代码:

<script type="text/javascript"> 
    $(document).ready(function(){  

     $('.del').live('click',function(){ 
      $(this).parent().parent().remove(); 
     }); 

     $('.add').live('click',function(){ 
      $(this).val('Delete'); 
      $(this).attr('class','del'); 

      var appendTxt = "<tr><td><select class='form-control form-control-bottom lang' name='input_box_one[]'><option>Language</option><option>English</option><option>Hindi</option></select></td> <td><input type='text' name='input_box_two[]' /></td> <td><input type='button' class='add' value='Ok' /></td></tr>"; 

      $("#options-table tr:first").before(appendTxt);   
     });   
    }); 
</script> 
+5

你使用的是什么旧版本的jQuery支持'live()' ? – epascarello

+1

请去看[问]。你没有在这里问任何实际的问题 - 你只是告诉我们你遇到了一个问题,然后描述你的脚本应该做什么。那么你的问题是什么?你到底做了什么来实现这个?你有什么特定的部分有麻烦? – CBroe

回答

0

确定按钮的点击,你可以删除特定选项:

var item = "Hindi"; 
$("select option:contains('"+item+"')").remove(); 
+1

它应该是动态的,并不总是印地文 - 取决于用户选择的是什么 - 点击确定后它应该从列表中移除 – samer1987

0

如果你想删除特定的元素,这可以通过删除

$("#selectBox option[value='English']").remove(); 

但是,这是动态的,你将不得不抢先选择的值指数:

var option = $('#selector :selected').val() 

之后,使用动态选择删除此,如:

$("#selectBox2 option[value='" + option + "]") 

编辑:更新帖子:

我建议,在进一步往下你走的更复杂这个对象将被维护。因此,我建议不要像通过一个字符串动态地添加元素,而是使用数组来生成它。这可以在Fiddle中看到。显然,这使用了更新版本的jQuery,因此可以用'Live'方法替换'On'。

这是通过首先创建一个新的选择元素:

var newSelect = $('<select/>'); 

然后,将从当前下拉作为选项的每个元素添加到选择

$(this).parent().find("option:not(:selected)").each(function() { 
    newSelect.append($('<option/>').html($(this).val())); 
}); 

&最后追加本该文件

$("#options-table").before(newSelect); 
+0

谢谢Joel ,,我真的是初学者 - 你能告诉我哪里到底应该在哪里放这些线? – samer1987

+0

不用担心。我现在将创建一个js小提琴并将其附加到我的答案中。 – Joel

+0

用另一种维护方式更新我的文章。希望能帮助到你。 – Joel