I icaaq Medlem sedan okt. 2000 5 273 inlägg Trådstart 2 juni 2004 11:24 #1 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 T Medlem sedan nov. 2001 7 144 inlägg document.foo.bar.value=(document.foo.bar.value=='Hej')?'':'Hej'
Testa detta i din funktion.
I icaaq Medlem sedan okt. 2000 5 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 T Medlem sedan nov. 2001 7 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>
Palle Medlem sedan apr. 2000 3 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]
I icaaq Medlem sedan okt. 2000 5 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
Palle Medlem sedan apr. 2000 3 174 inlägg ..är det inte så min kod fungerar?
Palle Medlem sedan apr. 2000 3 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]
I icaaq Medlem sedan okt. 2000 5 273 inlägg
Palle skrev:
..är det inte så min kod fungerar?
Den sista du gav mig är perfekt
mv icaaq
I icaaq Medlem sedan okt. 2000 5 273 inlägg nja jag var lite förhastad i att säga att den var perekt.
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 T Medlem sedan nov. 2001 7 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...
Palle Medlem sedan apr. 2000 3 174 inlägg Du måste ha unika numreriska ID på fälten från 3´e bokstaven och bakåt..