2016-06-24 2 views
1

У меня есть следующий код jquery, где я хочу удалить значение из текстового поля, если флажок снят и добавлен, если он установлен.Добавить/удалить значение текстового поля при изменении флажка

Первоначально все значения поступают в текстовое поле как ^ seperator. и все флажки проверили

здесь у фрагмента кода:

$(document).on('change','._invoice',function() { 
    var mystr = $(this).attr('data-id').is(":checked"); 
    if(mystr) { 
     var returnVal = confirm("Are you sure?"); 
     $(this).attr("checked", returnVal); 
    }  
    }); 
}); 

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

Robert Berenson^Nancy Foster^Richard Gourhan^LORI HEDMAN^Pui Hoang^Linda Lee^Kristen McDonald^Matthew Miller^Tricia Roland^Terry West 
+0

'$ (это) .а (": проверено") атр ('данных идентификатор'),' попробовать этот один –

+0

'.attr ('данных идентификатор'). .is (": checked") 'Это ваша проблема. 'attr()' возвращает строку, поэтому вызов '.is()' на этом не удастся. –

+0

, но как удалить данные и добавить их еще раз, и снять еще раз с помощью разделителя –

ответ

0

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

$(".check").change(function(){ 
 
    var text = ""; 
 
    $(".check:checked").each(function(){ 
 
     text += text != "" ? "^" : ""; 
 
     if ($(this).prop("checked")) 
 
      text += $(this).val(); 
 
    }); 
 
    $(".text").val(text); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" class="check" value="Text1" /> 
 
<input type="checkbox" class="check" value="Text2" /> 
 
<input type="checkbox" class="check" value="Text3" /> 
 
<input type="checkbox" class="check" value="Text4" /> 
 
<input type="checkbox" class="check" value="Text5" /> 
 
<br/> 
 
<input type="text" class="text" />

+0

круто, но что, если имя находится в середине и с обеих сторон, у меня есть^seperator, извините, я пропустил эту формулировку, пока вы говорили об этом –

+0

@ Даниэль Что означает «имя находится в середине и с обеих сторон»? Я не могу понять. – Mohammad

+0

означает:^Robert baratheon^ –

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