我读到的每篇帖子都是如何计算jQuery代码的,但我知道了这一点:
<button id ="seButton" data-value="????" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Options<span class="caret"></span></button>
<ul class="dropdown-menu noclose">
<li>
<input type="checkbox" id="ex3_1" name="ex3" value="1" checked="">
<label for="ex3_1">Option 1</label>
</li>
<li>
<input type="checkbox" id="ex3_2" name="ex3" value="2">
<label for="ex3_2">Option 2</label>
</li>
<li>
<input type="checkbox" id="ex3_3" name="ex3" value="3">
<label for="ex3_3">Option 3</label>
</li>
</ul>
</div>
和jQuery:
<script type="text/javascript">
$(document).ready(function(){
$('#seButton').click(function() {
var se = $(this).attr('data-value');
console.log("se equals " + se);
});
});
</script>
我抓住data-value
就好了,但我不知道如何首先设置数据值以捕获用户可能选择的选项。我正在使用Bootstrap的noclose
,因此用户可以根据需要选择MULTIPLE选项。我希望JavaScript var等于他们选择的任何选项....
我通过更改脚本按如下方式对此进行了排序:
<script type="text/javascript">
var seSelection = [];
$(document).ready(function(){
$(".dropdown-menu input").click(function() {
var value = $(this).val();
$(this).closest("#seButton").data();
if (this.checked) {
seSelection.push(this.value);
}
console.log("se equals " + seSelection);
});
});
</script>
我在$(document).ready
之前定义了一个数组,然后将我选择的每个值推送到该数组。我确信这是一种更好的方法,但是如果其他人都在阅读这个寻找解决方案的帖子,那么这个方法就有用了!
答案 0 :(得分:1)
您可以像这样设置数据值:
$(this).data('value', valueToSet);
并得到这样的结果:
$(this).data('value');
.data假定它以数据开头 - 因此数据(&#39;值&#39;)与attr相同(&#39;数据值&#39;)
答案 1 :(得分:1)
我首先从您单击的输入中获取值,然后将该值设置为按钮。试着这样做:
$(".dropdown-menu input").click(function() {
var value = $(this).val();
$(this).closest("#seButton").data('value', value);
});