javascript - Jquery change selectbox value based on radio button value (or other way round) -


i have site allows users "guess / predict" result of sports match

to give idea trying achieve have @ following image:

enter image description here

the selected teams gets displayed @ bottom of page along scores (as can see on bottom circle of image)

what im trying do

  1. as can see in 1st circle selected score 0 (zero) radio button selected automatically jump draw

  2. in second circle user selected draw 12 points, in case selectbox value automatically default zero or disp appropriate message

my problem

my script below displays selected team , selected score inside div @ bottom of page

i can above described problem work in turn affects primary working of script, explained above

any idea how can solve above problem without affecting primary working of script explained above.

please play around code snippet idea of problem

my code:

$(document).ready(function () {  $(':radio, select').change(function (e) {      //clear div      $('#disppicks').html('');      //update div      $(':radio:checked').each(function (ind, ele) {          var selectboxval = $(this).closest('div.team').find('select').val();          selectboxval = selectboxval!=''? "by "+selectboxval:selectboxval;          $('#disppicks').append($(ele).val() +"  "+selectboxval+ '<br/>');      });  });  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>  <div class="team">  <input type="radio" name="foo" value="shaks" />  <input type="radio" name="foo" value="hurricanes" />  <input type="radio" name="foo" value="draw" />    <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>    <br/>  </div>  <div class="team">  <input type="radio" name="bar" value="crusaders" />  <input type="radio" name="bar" value="pioneers" />  <input type="radio" name="bar" value="draw" />  <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>    <br/>  </div>  <div class="team">  <input type="radio" name="wow" value="chelsea" />  <input type="radio" name="wow" value="liverpool" />  <input type="radio" name="wow" value="draw" />  <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>  </div>  <div id="disppicks"></div>

below example seems work requested.

$(document).ready(function () {    	//monitor change of team/draw  	$(':radio').change(function (e) {  		var selectbox = $(this).siblings("select");  		if($(this).val() == "draw" && selectbox.val() !== ''){  			selectbox.val('');  		}  		updatediv();  	});  	  	//monitor change of select  	$('select').change(function (e) {  		  		var theradios = $(this).siblings(":radio");  		  		//check draw condition  		if($(this).val() == '' ){  			//change team/draw radios draw  			theradios.filter(':input[value="draw"]').prop('checked', true);  		  		//select indicates not draw, clear draw status  		}else if(theradios.filter(':checked').val() == "draw"){  			theradios.prop('checked', false);  		}  		updatediv();  	});  });    /*  * (re)draw div html  */  function updatediv(){  	//clear div  	$('#disppicks').html('');  	//update div  	$(':radio:checked').each(function (ind, ele) {  		var selectboxval = $(this).closest('div.team').find('select').val();  		selectboxval = selectboxval!=''? "by "+selectboxval:selectboxval;  		$('#disppicks').append($(ele).val() +"  "+selectboxval+ '<br/>');  	});  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>  <div class="team">  <input type="radio" name="foo" value="shaks" />  <input type="radio" name="foo" value="hurricanes" />  <input type="radio" name="foo" value="draw" />    <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>    <br/>  </div>  <div class="team">  <input type="radio" name="bar" value="crusaders" />  <input type="radio" name="bar" value="pioneers" />  <input type="radio" name="bar" value="draw" />  <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>    <br/>  </div>  <div class="team">  <input type="radio" name="wow" value="chelsea" />  <input type="radio" name="wow" value="liverpool" />  <input type="radio" name="wow" value="draw" />  <select>          <option value="">0</option>              <option value="1">1</option>              <option value="2">2</option>              <option value="3">3</option>              <option value="4">4</option>              <option value="5">5</option>              <option value="6">6</option>              <option value="7">7</option>              <option value="8">8</option>              <option value="9">9</option>              <option value="10">10</option>  </select>  </div>  <div id="disppicks"></div>


Comments