HTML
<div id = "btnsdhd" class="btn-group">
<button type="button" id="31" value="SD" class="btn btn-default">SD</button>
<button type="button" id="32" value="HD" class="btn btn-default">HD</button>
</div>
JS
var btnsdhdDiv = $('#btnsdhd');
var getsdhd = function () {
// Get all sdhd's from buttons with .active class
var sdhd = $('button.active', btnsdhdDiv).map(function () {
return $(this).val();
}).get();
// If no sdhd's found, get sdhd's from any button.
if (!sdhd || sdhd.length <= 0) {
sdhd = $('button', btnsdhdDiv).map(function () {
return $(this).val();
}).get();
}
return sdhd;
};
上面的代码捕获按钮的值并将其放在变量getsdhd
如果默认情况下没有选择任何按钮,它会捕获值(SD,HD)
我要修改if
语句,并在无按钮时向变量添加第三个值NC
被选中
当没有按钮被选中时,我希望它看起来像(SD,HD,NC)
。
我尝试使用.push()
方法但是没有用。
任何线索都会有所帮助。
答案 0 :(得分:1)
push()无法在您的情况下链接,因为push返回新的长度,而不是更新的数组。您需要将其添加到get()。
下面
var btnsdhdDiv = $('#btnsdhd');
var getsdhd = function () {
// Get all sdhd's from buttons with .active class
var sdhd = $('button.active', btnsdhdDiv).map(function () {
return $(this).val();
}).get();
// If no sdhd's found, get sdhd's from any button.
if (!sdhd || sdhd.length <= 0) {
sdhd = $('button', btnsdhdDiv).map(function () {
return $(this).val();
}).get()
sdhd.push("NC");
}
return sdhd;
};
console.log(getsdhd());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "btnsdhd" class="btn-group">
<button type="button" id="31" value="SD" class="btn btn-default">SD</button>
<button type="button" id="32" value="HD" class="btn btn-default">HD</button>
</div>
答案 1 :(得分:0)
您没有调用getsdhs函数。如果你调用你的功能它会工作。我使用console.log
来测试它是否有效。
<强> JS 强>
var btnsdhdDiv = $('#btnsdhd');
var getsdhd = function () {
// Get all sdhd's from buttons with .active class
var sdhd = $('button.active', btnsdhdDiv).map(function () {
return $(this).val();
}).get();
// If no sdhd's found, get sdhd's from any button.
if (!sdhd || sdhd.length <= 0) {
sdhd = $('button', btnsdhdDiv).map(function () {
return $(this).val();
}).get();
sdhd.push("NC");
}
console.log(sdhd);
return sdhd;
}();