我有两个单选按钮,foreach单选按钮我有文本输入字段。我添加这个-------就像文本输入字段的默认值。我想要的是在选中第二个无线电时删除此值。
我的代码是:
if (jQuery('.product-options .display ul li:nth-child(1)').find('input').is(':checked')) {
jQuery(".product-options dd input.input-text").attr('value', '--------');
jQuery(".product-options dd input.input-text").addClass('validation-passed');
}
jQuery('.product-options .display ul li:nth-child(1)').find('input').change(function(){
if (jQuery(this).is(':checked')) {
jQuery(".product-options dd input.input-text").attr('value', '--------');
jQuery(".product-options dd input.input-text").addClass('validation-passed');
}
})
jQuery('.product-options .display ul li:nth-child(2)').find('input').change(function(){
if (jQuery(this).is(':checked')) {
jQuery(".product-options dd input.input-text").attr('value', '');
}
})
答案 0 :(得分:3)
使用.val('')
设置输入值,而不是.attr('value', '')
。
答案 1 :(得分:0)
首先你的代码是一团糟。你应该至少缩短选择器,很难阅读它们。其次,我有一些问题需要了解你的问题。
基于您的代码的一些评论。
1)您在两种情况下都改变了相同的输入。无论选中哪个按钮,您仍然可以通过搜索相同的元素
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
id: root
visible: true
width: 200
height: 500
ListView {
anchors.fill: parent
model: 10
spacing: 20
ExclusiveGroup { id: ex } // the group for all the delegate
delegate: Rectangle {
id: delegate
width: ListView.view.width
height: 30
color: checked ? "yellow" : "steelblue"
// code to have exclusive behaviour
property bool checked: false
property ExclusiveGroup exclusiveGroup: ex
onExclusiveGroupChanged: {
if (exclusiveGroup)
exclusiveGroup.bindCheckable(delegate)
}
// mouse area to trigger the property change
MouseArea {
anchors.fill: parent
onClicked: checked = true
}
}
}
}
2)amphetamachine所说的 - 你应该使用jQuery(".product-options dd input.input-text")
来清除输入的值。由于我的第一点,你的价值是空白的。你只是选错了。