这是我的下拉列表:
<div id="addCam"></div>
<div id="addDiv">
<select id="type1">
<option value="">- Kiểu áo -</option>
@foreach (var item in Model.teetypes)
{
<option value="@item.Image">@item.Name</option>
}
</select>
<a class="btn btn-info btn-default" id="addBtnH" style="text-align:center" title="Thêm sản phẩm"><i class="fa fa-plus"></i></a>
</div>
这是我的 javascript .append():
$(document).ready(function () {
var count = 2;
var maxAppend = 0;
$("#addBtnH").click(function () {
var name = $("#type1 option:selected").val();
var name1 = $("#type1 option:selected").text();
if (name == '') return;
if (maxAppend >= 5) {
$("#addDiv").hide();
return;
}
$("#addDiv").show();
$("#type1 option:selected").attr('disabled', 'disabled');
$("#type1").val('');
$("#addCam").append("<div class='widget' id='del" + count + "'><div class='widget-body'><div class='col-md-3'><span style='display:block'><img src='" + name + "' id='tee" + count + "' height='75'/></span></div>" +
"<div class='col-md-1'><select id='color" + count + "' onchange='changeColor" + count + "()'>@foreach (var item in Model.teecolors){<option value='@item.Color' style='background-color: #@item.Color'></option>}</select></div><div id='dis" + count + "'>" + name1 + "</div>" +
"<hr class='wide'><input type='text' name='input'><a class='btn btn-info btn-default' rel='"+name+"' id='delete" + count + "' style='text-align:center' title='Xóa sản phẩm'><i class='fa fa-trash'></i></a>" + @*str +*@
"<script>$('#delete" + count + "').click(function(){var images = $(this).attr('rel'); $('#type1 option[value = "+"images"+"]').removeAttr('disabled');$('#del" + count + "').remove();});" + "<" + "/script>" +
"<script type='text/javascript'>function changeColor" + count + "(){var eID = document.getElementById('color" + count + "'); var colorVal = eID.options[eID.selectedIndex].value; document.getElementById('tee" + count + "').style.background = '#' + colorVal;}" + "<" + "/script>" +
"</div></div>");
count = count + 1;
maxAppend++;
});
});
我的问题是,当我点击添加按钮时,它会将 div 作为内容添加到追加中,并且已添加的值将在下拉列表中被禁用。在添加的div中,有一个delete按钮,点击它,div会消失,disabled属性值也会被移除。我创建“图像”以获得该按钮的 attr('rel'),但我不知道如何让 $("#type1 option[value=images]") 理解“图像”是一个值,而不是一个字符串?请帮助我!
最佳答案
将 scirpts 元素写入要评估的代码中不是最佳实践。
您正在寻找的技术是不断使用 jquery 选择器来获取附加节点并动态设置属性。 考虑这个解决方案:
$("#addCam").append($('<ul>').attr('class', 'some-class')
.append($('<li>').attr('class', 'some-other-class')
.append($('<img>').attr('src', 'somePath'))
.on('click', liClickedHandler)));
关于javascript - 如何在 .append() 中获取脚本的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728166/