사용자가 드롭 다운 목록에서 옵션을 선택한 후에 요소를 만들려고합니다. 불행히도 나는 기꺼이 원하는 결과를 얻지 못하고있다. 내가 달성 한 결과는 다음과 같이 보았다 : 링크를 참조로jQuery를 추가하려고 시도합니다.
은 '제거'사용자에 의해 만들어졌다 선택한 각 옵션 다음에 증가됩니다. 또한 생성 된 div
과 앵커 요소 사이에는 공백이 없습니다. 내가 증가 링크를 해결하기 위해 루프가 필요하다고 생각 remove
. 하지만 어떻게해야할지 모르겠다. 나는 다음을 시도 :
$("#theSelect").change(function() {
var value = $("#theSelect option:selected").val();
var theDiv = $(".is" + value);
//theDiv.slideDown().removeClass("hidden");
$("#theSelect option:selected").attr('disabled', 'disabled');
var $div = $("<div>", {
id: "foo",
class: "a",
text: value
});
//$div.click(function(){ /* ... */ });
$(".selectContainer").append($div);
var newLink = $("<a />", {
id: "id5",
name: "link",
href: "#",
text: "remove"
});
$(".a").append(newLink);
});
$("div a.remove").click(function() {
var value = $(this).attr('rel');
var theDiv = $(".is" + value);
$("#theSelect option[value=" + value + "]").removeAttr('disabled');
$(this).parent().slideUp(function() {
$(this).addClass("hidden");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="selectContainer">
<select id="theSelect">
<option value="">- Select -</option>
<option value="Patient">Patient</option>
<option value="Physician">Physician</option>
<option value="Nurse">Nurse</option>
</select>
</div>
<!-- <div class="hidden isPatient">Patient <a href="#" class="remove" rel="Patient">remove</a></div> -->
<!-- <div class="hidden isPhysician">Physician <a href="#" class="remove" rel="Physician">remove</a></div> -->
<!-- <div class="hidden isNurse">Nurse <a href="#" class="remove" rel="Nurse">remove</a></div> -->
안녕하십니까. 그러나 솔직히 말해서 나는 당신의 첫 번째 요지를 이해하지 못한다. '시간을 만들 때 요소를 제거 핸들러에 바인딩 할 수 있습니다 ..'div 요소를 만드는 순간에 앵커 요소를 만들 수 있습니까? 그렇다면, 당신이나 다른 누군가가 그 일을 어떻게 보여줄 수 있습니까? 또한 rel 속성에 관해 Google에서 검색했습니다. 더 나은 SEO를 위해서만 rel 속성이 있습니까? 아니면 더 많은 것을 알고 있을지 모르겠습니다. 나는 당신의 마지막 두 점을 이해한다 :). – superkytoz
@superkytoz 나는 ***을 *** 잊었다. "* 당신은 삭제 처리기를 ** 생성시에 ** 요소에 바인딩 할 수 있습니다. 링크에 제거 처리기를 추가하려는 방식이 작동하지 않습니다 (* 요소가 존재하지 않을 때'$ ("div a.remove"). click (..)'code was run *). 그래서'new : = $ ("", {..})'코드를 사용하면 링크를 클릭 할 때 사용할 처리기를 설정할 수 있습니다. 코드에서 함수에 제거 코드를 넣고 링크를 전달했습니다. –