Удалить элементы из списка выбора на основе отмеченных элементов в таблице - PullRequest
1 голос
/ 15 июня 2011

У меня есть таблица со структурой, подобной следующей:

<tbody>
    <tr class="classRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
        <td width="35px"><a class="classEditLink" name="33" href="#">Edit</a></td>
        <td width="20px"><input type="checkbox" class="chkDeleteClass" name="deleteClasses[]" value="33" /></td>
        <td>CLASS1234</td>
        <td>A Sample Class</td>
    </tr>
    <tr class="classDocsRow">
        <td></td>
        <td align="right"><input type="checkbox" class="chkRemoveDocs" name="removeDocs[]" value="38-33" /></td>
        <td width="245px">Document 1</td>
        <td width="600px">A Sample Document</td>
    </tr>
</tbody>
<tbody>
    <tr class="classRow" bgcolor="#EFE5D3" style="font-weight: bold; font-size: 1.1em;">
        <td width="35px"><a class="classEditLink" name="45" href="#">Edit</a></td>
        <td width="20px"><input type="checkbox" class="chkDeleteClass" name="deleteClasses[]" value="45" /></td>
        <td>CLASS987</td>
        <td>Another Sample Class</td>
    </tr>
    <tr class="classDocsRow noDocs">
        <td colspan="4">
            <strong>No documents are currently associated with this class.</strong>
        </td>
    </tr>
</tbody>

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

<select type="select" id="classesList" name="classesList">
    <option id="defaultClassesListItem" value="0">Select a Class...</option>
    <option value="33">CLASS1234 - A Sample Class</option>
    <option value="45">CLASS987 - Another Sample Class</option> 
</select>

Как видите, раскрывающийся списоксписок классов в таблице.

Используя jQuery, мне нужно удалить все элементы из выпадающего списка, которые проверены в таблице.

У меня есть селектор в другом месте на сайте, которыйнаходит проверенные элементы в таблице, например:

$('#classesTable input[name="deleteClasses[]"]:checked')

Так что я считаю, что это отправная точка.Я предполагаю, что мне нужно сделать что-то вроде получения значения имени отмеченного элемента (который является идентификатором класса), найти его в раскрывающемся списке и удалить элементы на основе этого.Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 15 июня 2011

, чтобы удалить предмет, вы должны сделать что-то вроде этого:

Удалить опцию:

 $("#classesList option[value='33']").remove();

new

$('#classesTable input[name="deleteClasses[]"]:checked').each(function(){
   get values to remove and delete throught something like $(this).val()
   $("#classesList option[value='values']").remove();
});
0 голосов
/ 25 октября 2011

Вот код для удаления отмеченного элемента:

function submitForm() {
    var submitForm = false;
    $( '.cb-element' ).each(function () {
        if($(this).is(':checked')){
            submitForm = true;
        }
    });
    if(submitForm){
        if (confirm("Are you sure you want to delete")) {
            document.forms["myform"].submit();
        } else {
            return false;
        }
    } else {
        alert('Please select an email to delete!');
    }
} 
...