【发布时间】:2017-07-18 07:04:47
【问题描述】:
我的 vue 组件是这样的:
<template>
<div>
<div class="col-md-4">
<ul class="list-unstyled">
<li><strong>England</strong></li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="england" class="radio"> Chelsea
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="england" class="radio"> Mu
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="england" class="radio"> Arsenal
</label>
</div>
</li>
</ul>
</div>
<div class="col-md-4">
<ul class="list-unstyled">
<li><strong>Spain</strong></li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="spain" class="radio"> Madrid
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="spain" class="radio"> Barcelona
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="spain" class="radio"> Atletico
</label>
</div>
</li>
</ul>
</div>
<div class="col-md-4">
<ul class="list-unstyled">
<li><strong>Italy</strong></li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="italy" class="radio"> Juve
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="italy" class="radio"> Milan
</label>
</div>
</li>
<li>
<div class="checkbox">
<label>
<input type="radio" name="italy" class="radio"> Inter
</label>
</div>
</li>
</ul>
</div>
<span id="result-select">Result</span>
</div>
</template>
<script>
export default {
props: ['...'],
...
}
</script>
我的javascript代码是这样的:
$('input[type="radio"]').click(function(){
var $radio = $(this);
var name = $(this).prop("name");
// if this was previously checked
if ($radio.data('waschecked') == true)
{
$radio.prop('checked', false);
$radio.data('waschecked', false);
$('#result-select').text('');
}
else{
$radio.data('waschecked', true);
$(`input[name=${name}]:not(:checked)`).data('waschecked', false);
$('#result-select').text(txt);
}
let output = [];
var txt;
$('input[type="radio"]:checked').each( function() {
txt = $(this).parent().text();
output.push(txt);
});
$('#result-select').text(output.join(' - '));
});
我仍然使用 javascript 来统一每个选定的单选按钮组。这个 javascript 代码工作正常。但我想用 vue 组件来改变它。所以没有javascript代码。但我还是一头雾水
我先解释一下剧情
我想:
如果我选择切尔西、马德里和尤文,结果是这样的:
切尔西 - 马德里 - 尤文
如果我选择切尔西和马德里,结果如下:
切尔西 - 马德里
所以如果我选中单选按钮,它会显示文本。如果我取消选中单选按钮,它不会显示文本
在vue组件中怎么做?
更新:
单选按钮可以取消选中
例如:
如果我选择切尔西、马德里和尤文,结果是这样的:
切尔西 - 马德里 - 尤文
然后我取消选中马德里,结果是这样的:
切尔西 - 尤文
【问题讨论】:
-
你这里没有使用 Vue。
-
@Roy J,是的。我仍然使用javascript。我想使用 vue 组件对其进行更改。但我还是一头雾水
标签: radio-button vue.js