2017-07-05 123 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