我瀏覽過所以發現一些答案已經引導我更接近獲取工作單選按鈕,但我現在卡住了。使用twitter bootstrap的單選按鈕 - 無法獲得價值
我有按鈕,但無法獲取所選的值。
我使用JSF,因此#{searchFlightsBean.setDir()}
這是我目前有:
<h:panelGrid>
<div class="btn-group" data-toggle-name="is_private" data-toggle="buttons-radio" >
<button type="button" value="0" class="btn" data-toggle="button">Public</button>
<button type="button" value="1" class="btn" data-toggle="button">Private</button>
</div>
<h:inputHidden id="hiddenDir" value="0" valueChangeListener="#{searchFlightsBean.setDir()}" onchange="submit()"/>
</h:panelGrid>
<script>
$(function() {
$('div.btn-group[data-toggle-name]').each(function() {
var group = $(this);
var form = group.parents('form').eq(0);
var name = group.attr('data-toggle-name');
var hidden = $('input[name="' + name + '"]', form);
$('button', group).each(function() {
var button = $(this);
button.on('click', function() {
hidden.val($(this).val());
});
if (button.val() == hidden.val()) {
button.addClass('active');
#{searchFlightsBean.setDir(button.value)}
}
});
});
});
</script>
在我的豆,當setDir()
叫,我記錄它接收到,像這樣的價值:
public void setDir(ValueChangeEvent e) {
this.dir = e.getNewValue().toString();
log.info("NEW DIRECTION: " + this.getDir());
}
它不記錄 - setDir()
永遠不會被調用。由於某些原因,標記上的valueChangeListener
屬性不起作用。我錯過了什麼嗎?
沒有人的答案真的能解決您的問題嗎?對我而言,他似乎只是發佈了一個完全隨機的解決方案,它更多地適用於JSF 1.x,而不適用於JSF 2.x,但您標記的答案已被接受。你真的*在RichFaces 3.x中使用JSF 1.x嗎?先前提出的問題中沒有任何內容表明這一點如果您仍然面臨同樣的主要問題,那麼您不應該標記接受的答案,因此答案根本沒有幫助。 – BalusC
@BalusC不,它沒有真正回答我的問題 - 我沒有接受它。我也編輯了我的問題,使其與我目前正在嘗試做的事情保持一致。要麼我使用valueChangeListener錯誤,要麼我需要使用別的東西。 – Skytiger
好的。只需確認一下,您正在使用JSF 2.x?因此,你可以使用''? –
BalusC