「こうすればできる」という回答ではなく「初心者が勉強がてらにやってみた」というコメントです。
チェックボックスは行の先頭にあるのでtable1にありますが、
値を反映させたいプルダウン項目はtable2にあります。
ここがポイントなのだろうと思います。もしjQueryで「対象要素と直接親子関係を持たない要素の状態を条件にできるセレクター」が書けるならjQuery(...).val(...)
一発で済むのでしょうが、残念ながら自分にはそういうセレクターの書き方を見つけることができませんでした。
そこで、次善の策として、テーブル中のチェックボックスの集合と、プルダウンの集合をそれぞれ取得し、チェック状態の行に対応したプルダウンへのみ値を設定するという素朴な方法でやってみました。
チェックボックスとプルダウンの紐づけはidによる方法がかっちりしているのだろうと思いますが、ここでは深く考えずjQueryによる要素の問い合わせ結果がDOMの兄弟ノードの並び順のまま返されることを前提にインデックスを用いる方法で書いてみました。もしこの前提が正しくないならこのコードはNGになりますがそこは自分には自信がありません。
なお、まだ充分一般的かどうかわかりませんがES6前提で書いてみました。
HTML
1...
2<head>
3...
4<script>
5$(() => {
6 // select要素へoptionを設定(蛇足)
7 let options = [ 'a', 'b' ];
8 let optionsHtml = options.map(v =>
9 `<option value="${v}">Label-${v}</option>`
10 )
11 .join('');
12 $('#pd1').html(optionsHtml);
13 $('#t2 select.pd2').html(optionsHtml);
14
15 // buttonのイベント設定
16 $('#set-options').click(setSelectedPulldowns);
17
18 // #pd1の現在値をチェックされた行のselect要素のみへ設定
19 function setSelectedPulldowns() {
20 let curSelection = $('#pd1').val();
21 let cbs = $('#t1 input.cb');
22 let pds = $('#t2 select.pd2');
23
24 cbs.each((i, e) => {
25 if ($(e).prop('checked')) {
26 $(pds[i]).val(curSelection);
27 }
28 });
29 }
30});
31</script>
32...
33</head>
34<body>
35<select id="pd1"></select>
36<button id="set-options">set options</button>
37...
38<table id="t1">
39 ...
40 <td><input type="checkbox" class="cb"></td>
41 ...
42</table>
43<table id="t2">
44 ...
45 <td><select class="pd2"></select></td>
46 ...
47</table>
48...
49</body>
50</html>
訂正:06/26 19:07:すみません、t2の下のselect要素の属性間違ってました。最初のコードではid="pd2"としてましたが、class="pd2"の誤りです。失礼しました。
この例ではテーブルの全ての行のチェックボックスとプルダウンを取り出していますが、チェックされた行のみ取り出し、idの紐づけに基づき対応するselect要素のみへ値を設定する方が良い方法なのだろうとは思いました。