我有一些按跨度分组的选择元素。我正在创建一个插件来与元素进行一些交互。现在我想给我的用户的支持val()
函数,以便他们能够获取或设置我的跨度的“值”。设置该值将导致选择框元素发生变化,获取该值将导致添加选择框值。
基本上我希望我的插件添加对 val()
的支持方法。关于如何实现这一点的任何想法?
代码
<span id="test">
<select id="one">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select id="two">
<option value="1">1</option>
<option value="2">2</option>
</select>
</span>
挑战
获取以下代码以工作:
$('#test').val('1:1');
和 $('#test').val()
.
最佳答案
这不是一个完整的插件,我没有覆盖 val()
但它应该做你想做的。
$.fn.value = function(value) {
if (value) {
var s = value.split(':');
for ( var i = 0; i < s.length; i++ ) {
this.find('select').eq(i).val(s[i]);
}
} else {
var result = [];
this.find('select').each( function( index, item ) {
result.push($(item).val());
});
return result.join(':');
}
}
$(function() {
$("#test").value("2:2");
alert($("#test").value());
});
您可以在 http://jsfiddle.net/QBSWm/1/ 试用
关于javascript - 如何为跨度实现 jQuery val()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5895342/