2013-05-10 3 views
1

У меня есть код, как этотизбежать дублирования записи из ниспадающего Javascript PHP

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Eg - Textbox Dropdown</title> 
     </head> 
     <body> 
     <input name="TextboxExample" type="text" maxlength="50" id="TextboxExample" tabindex="2" 
     onchange="DropDownIndexClear('DropDownExTextboxExample');" style="width: 242px; 
     position: absolute; top: 0px; left: 0px; z-index: 2;" /> 
     <select name="DropDownExTextboxExample" id="DropDownExTextboxExample" tabindex="1000" 
     onchange="DropDownTextToBox(this,'TextboxExample');" style="position: absolute; 
     top: 0px; left: 0px; z-index: 1; width: 265px;"> 
     <option value="Value for Item 1" title="Title for Item 1">Item 1</option> 
     <option value="Value for Item 2" title="Title for Item 2">Item 2</option> 
     <option value="Value for Item 3" title="Title for Item 3">Item 3</option> 
     </select> 
     <script language="javascript" type="text/javascript"> 
     //Since the first <option> will be preselected the IndexClear function must fire once to clear that out. 
     DropDownIndexClear("DropDownExTextboxExample"); 
     </script> 
     </div> 
     </body> 
     </html> 
     <script type="text/javascript"> 
     function DropDownTextToBox(objDropdown, strTextboxId) { 
     document.getElementById(strTextboxId).value += objDropdown.options[objDropdown.selectedIndex].value.concat(','); 
     DropDownIndexClear(objDropdown.id); 
     document.getElementById(strTextboxId).focus(); 
     } 
     function DropDownIndexClear(strDropdownId) { 
     if (document.getElementById(strDropdownId) != null) { 
     //document.getElementById(strDropdownId).selectedIndex = -1; 
     var x=document.getElementById("DropDownExTextboxExample"); 
     x.remove(x.selectedIndex); 
     } 
     } 
     </script> 

код работает отлично, но мне нужно, чтобы избежать той же записи, чтобы получить выбранный снова и снова.

Для примера: если я выбираю пункт 1 из раскрывающегося списка, его не следует выбирать повторно. Теперь в этом случае я могу выбрать пункт 1 для числа «n».

Мне нужна помощь здесь.

Благодаря Haan

+0

Отредактированный мой код, но первое значение выпадающее меню не выбирается. :( – hjaffer2001

ответ

1
<select name="DropDownExTextboxExample" id="DropDownExTextboxExample" tabindex="1000" 
     onchange="DropDownTextToBox(this,'TextboxExample');" style="position: absolute; 
     top: 0px; left: 0px; z-index: 1; width: 265px;"> 
     <option value="">Select Item</option> 
     <option value="Value for Item 1" title="Title for Item 1">Item 1</option> 
     <option value="Value for Item 2" title="Title for Item 2">Item 2</option> 
     <option value="Value for Item 3" title="Title for Item 3">Item 3</option> 
     </select> 
+0

Вы хотите, чтобы я удалить эту строку document.getElementById (strDropdownId) .selectedIndex = -1; ?? Я dn't получить вам спасибо за мгновенную помощь – hjaffer2001

+0

Да удалить опцию из выбора.. box.Is есть проблема для u с этим – PSR

+0

Нет, это не работает. Не могли бы вы опубликовать отредактированный код здесь – hjaffer2001

0

Вы можете отключить этот пункт навсегда однажды выбранный

0
function remove_this_item(){ 
    var htmlSelect=document.getElementById('DropDownExTextboxExample'); 
    var optionToRemove=htmlSelect.options.selectedIndex; 
    htmlSelect.remove(optionToRemove); 
    return true; 
} 

Вы можете проверить его здесь: http://jsfiddle.net/3fkNL/2/

Смежные вопросы