Jump to content
php.lv forumi
  • 0

jquery - copy data and make readonly


renathy

Question

Man ir divi "fieldseti". Abi satur līdzīgu struktūru, ar dažādiem id-iem (bet var nedaudz mainīties struktūra, t.i., pirmā fieldsetā var arī būt tādi lauki, kas nav otrā un otrādi).

Teiksim:

 

<fieldset>
<div id="holder_main_data">
<div>
<input name="Model[holder][name]" id="Model_holder_name" type="text" maxlength="45">
</div>

<div>
<input name="Model[holder][surname]" id="Model_holder_surname" type="text" maxlength="45">
</div>
utt.
</div>
</fieldset>

<fieldset>

<div id="driver_main_data">
<div>
<input name="Model[driver][name]" id="Model_driver_name" type="text" maxlength="45">
</div>

<div>
<input name="Model[driver][surname]" id="Model_driver_surname" type="text" maxlength="45">
</div>
utt.
</div>
</fieldset>

 

Man ir checkboxis:

<input type="checkbox" value="1" name="from_holder" id="from_holder" style="display: inline-block; ">

 

Nepieciešams uz checkbox "from_holder" click uztaisīt sekojošas lietas:

1) vispirms nokopēt no pirmā fieldset-a (holder) iekš otrā fieldseta (driver) visus tos inputus, kuriem ir līdzīgi nosaukumi.

T.i.,

datus no "Model[holder][name]" iekš "Model[driver][name]",

datus no "Model[holder][surname]" iekš "Model[holder][surname]"

utt. tā izdarīt ar visiem "Model[holder][xxxxxxxx]", kuriem atrodam atbilstošo iekš Model[driver][xxxxxxxxx].

 

2) Nepieciešams visus otrā fieldseta datus uz checkbox click, kas atrodas iekš div-a id="driver_main_data" padarīt readonly. Savukārt izķeksējos čekboxi, atkal padarīt "normālus".

 

3) Nepieciešams, lai tad, kad ir ieķeksēts minētais čekboxis un lietotājs maina kaut kādus datus pirmajā fieldsetā, tad attiecīgie dati

mainās paši otrā fieldsetā.

 

Ar Javascripta palīdzību šito varētu uztaisīt, bet būtu pateicīga par idejām kā to labāk izdarīt ar jquery...

jquery redzēti kodi, kas līdzīgas lietas dara dažās rindiņās.

 

R.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Te būs datu apvienošana. Pārējam nevajadzētu sagādāt problēmas.

 

$('input[name^="Model[holder]"]').each(function() {
  $('input[name="Model[driver]'+$(this).attr('name').substr(13)+'"]').val($(this).val());
});

Edited by mad182
Link to comment
Share on other sites

  • 0

Viss sanāca, vienīgi:

 

kā varētu šim "selector"-am pievienot "select" (ne tikai input) un lai arī "checkbox" vērtības pārliktos (es vienkārši pieliku vēl vienu rindiņu nevis ar val, bet ar attr('checked', ...), taču liekas nepareizi uzstādīt šo atribūtu visiem pēc kārtas, vajadzētu tikai checkbox-iem).

 

R.

Link to comment
Share on other sites

  • 0

Ok, tagad viss strādā, izņemot to, ka select-am gan val neuzstādās.

 

Šādi sanāk, ka nedarbojas:

 

$('input [name="ClientModel[driver][gender]"]').val('F');

 

ja

 

<option value="F">F</option>

 

Kā vajadzētu?

Edited by renathy
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...