icaaqMedlem sedan okt. 20005 273 inlägg Hej igen.
Nu sitter jag i Javascript-träsket och kollar mig omkring igen :)
Jag har ett antal checkboxar på en sida, nu skulle jag vilja att när man klickar i en av dessa så ska valuet i denna visas i en textbox. Detta är inga problem men hur gör jag för att tabort värdet om jag klickar ur checkboxen igen??
mv icaaq
Jesper TMedlem sedan nov. 20017 144 inlägg document.foo.bar.value=(document.foo.bar.value=='Hej')?'':'Hej'
Testa detta i din funktion.
icaaqMedlem sedan okt. 20005 273 inlägg Jag vet inte hur jag ska göra. Min funktion ser ut som följer
[red]
function bookDisplay(a){
document.getElementById('SelectedDisplays').value=a;
}
onclick="bookDisplay(this.value)"
[/red]
mv icaaq
Jesper TMedlem sedan nov. 20017 144 inlägg Det kanske är lite ryckt ur sitt sammanhang och jag fattar kanske inte helt hur det skall vara, men här är två förslag:
<script>
function bookDisplay(a){
document.foo.bar.value=(document.foo.bar.value==a)?'':a;
}
</script>
Förslag 1<br>
<input type="radio" name="radio1" onclick="bookDisplay(this.value)" value="Hej">
<input type="radio" name="radio2" onclick="bookDisplay(this.value)" value="Du">
<input type="radio" name="radio3" onclick="bookDisplay(this.value)" value="Glade">
<form name="foo">
<input type="text" name="bar">
</form>
<script>
function bookDisplay_(a){
document.foo_.bar_.value=a;
}
</script>
Förslag 2<br>
<input type="radio" name="radio11" onclick="bookDisplay_(this.value)" value="Hej">
<input type="radio" name="radio11" onclick="bookDisplay_(this.value)" value=""><br>
<input type="radio" name="radio22" onclick="bookDisplay_(this.value)" value="Du">
<input type="radio" name="radio22" onclick="bookDisplay_(this.value)" value=""><br>
<input type="radio" name="radio33" onclick="bookDisplay_(this.value)" value="Glade">
<input type="radio" name="radio33" onclick="bookDisplay_(this.value)" value="">
<form name="foo_">
<input type="text" name="bar_">
</form>
PalleMedlem sedan apr. 20003 174 inlägg En variant att labba med. :)
[red]<script type="text/javascript">
var arrOutput = new Array()
function bookDisplay(frm,field)
{
objTextfield = document.getElementById('SelectedDisplays');
objCheckbox = frm(field);
if(objCheckbox.checked)
{
arrOutput[field] = frm(field).value;
}
else
{
arrOutput[field] = '';
}
objTextfield.value = arrOutput;
}
</script>
...
<form>
<input type="checkbox" name="1" value="Test-text nummer 1" onclick="javascript:void(bookDisplay(this.form,this.name));"> Text1<br>
<input type="checkbox" name="2" value="Test-text nummer 2" onclick="javascript:void(bookDisplay(this.form,this.name));"> Text2<br>
<input type="checkbox" name="3" value="Test-text nummer 3" onclick="javascript:void(bookDisplay(this.form,this.name));"> Text3<br>
<input type="text" id="SelectedDisplays">
</form>[/red]
icaaqMedlem sedan okt. 20005 273 inlägg Nja ....Det är så här att jag har en mässa där kunder ska gå in och boka mässplatser. Det gör dem via checkboxar, när de klickat i en checkbox så vill jag att värdet i den hamnar i en input text. klickar kunden i flera checkboxar så ska alla de värdena hamna i inputen.
Dock så om kunden klickar ur en checkbox så vill ju jag att det värdet tas bort ur inputen.
Förstår ni hur jag menar ?
mv icaaq
PalleMedlem sedan apr. 20003 174 inlägg ..är det inte så min kod fungerar? :OO
PalleMedlem sedan apr. 20003 174 inlägg Optimerad även för ex. Mozilla.. ;)
[red]<script type="text/javascript">
var arrOutput = new Array()
function bookDisplay(fieldObj)
{
var strOutput = '';
var objTextfield = document.getElementById('SelectedDisplays');
if(fieldObj.checked)
{
arrOutput[fieldObj.id.substr(2,fieldObj.id.length)] = fieldObj.value;
}
else
{
arrOutput[fieldObj.id.substr(2,fieldObj.id.length)] = null;
}
for (var i=0; i<arrOutput.length; i++)
{
if(arrOutput[i])
{
if(arrOutput[i] != '') strOutput += arrOutput[i] +',';
}
}
objTextfield.value = strOutput;
}
</script>
...
<form>
<input type="checkbox" id="cb1" value="Test-text nummer 1" onclick="bookDisplay(this);"> Text1<br>
<input type="checkbox" id="cb2" value="Test-text nummer 2" onclick="bookDisplay(this);"> Text2<br>
<input type="checkbox" id="cb3" value="Test-text nummer 3" onclick="bookDisplay(this);"> Text3<br>
<input type="text" name="SelectedDisplays" id="SelectedDisplays" style="width: 400px;">
</form>[/red]
icaaqMedlem sedan okt. 20005 273 inlägg
Palle skrev:
..är det inte så min kod fungerar? :OO
Den sista du gav mig är perfekt :D
mv icaaq
icaaqMedlem sedan okt. 20005 273 inlägg nja jag var lite förhastad i att säga att den var perekt. :OO
Kolla in denna http://www.telemastic.se/expo/booking/ och så bockar ni i E-5, E-6 och sedan D-5, D-6 så ser ni felet .....
hur kan man åtgärda det?
mv icaaq
Jesper TMedlem sedan nov. 20017 144 inlägg En variant är att sätta ett löpnummer på checkboxens id.
Tänk på att börja med en sträng i id:t.
ex.
<input type="checkbox" name="displayName" value="A-1" id='plats-1' onclick="bookDisplay(this);"/>
<input type="checkbox" name="displayName" value="A-2" id='plats-2' onclick="bookDisplay(this);"/>
<input type="checkbox" name="displayName" value="B-1" id='plats-3' onclick="bookDisplay(this);"/>
osv...
PalleMedlem sedan apr. 20003 174 inlägg Du måste ha unika numreriska ID på fälten från 3´e bokstaven och bakåt..