[英]Append option in select and add data attribute to option
我有选择名称slc_pc,我想通过jquery代码附加选项。
我尝试这些脚本。 但这不起作用。
$("select[name='slc_pc']").append(new Option("Hello", "Hello", true, true).attr("abc",brand,"123",model));
如果将ID“ slc-pc”添加到select元素,则基本形式类似于以下形式:
$('#slc_pc').append($("<option></option>").attr({"value": key, "abc": brand, "123": model }).text(value));
试试这个
您在(new Option("Hello", "Hello", true, true)
)
之后添加)
并从最后删除)
$("select[name='slc_pc']").append(new Option("Hello", "Hello", true, true)).attr("abc", "brand", "123", "model");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name='slc_pc'> <option>select</option> </select>
$(function(){ var brand = 'test'; var model = '123'; var brand1 = 'abc'; var model1 = '456'; $(".slc_pc").append("<option value='hello' data-brand='" +brand+ "' data-model='" +model+ "'>hello</option><option value='hello1' data-brand='" +brand1+ "' data-model='" +model1+ "'>hello1</option>"); }) $(document).on("change",".slc_pc", function(){ var option = $("option:selected", this); alert("value : "+ $(this).val() + ", brand : "+$(option).data('brand') + ", model : " + $(option).data('model')); })
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <select class='slc_pc' name='slc_pc'> <option value=''>--select--</option> </select>
可以通过这样的事情来完成。
您的代码中有一些错误。 首先,要设置多个属性,您需要将它们作为对象传递。 其次, data
名称的属性名称和值不正确。 brand
和model
应分别为属性,而abc
和123
应分别为其值。
new Option
将创建一个没有attr
方法的option元素。 您可以使用jQuery创建新元素。
这是正确的方法
$('select[name="slc_pc"]')
.append($('<option />') // Create new <option> element
.val('Hello') // Set value as "Hello"
.text('Hello') // Set textContent as "Hello"
.prop('selected', true) // Mark it selected
.data({ // Set multiple data-* attributes
brand: 'abc',
model: '123'
})
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.